中国石油大学C语言程序网络作业题(含大数相加)

更新时间:2023-11-05 02:33:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1.1 Hello world.

让我们用C语言向世界问好。 最早的程序基本是这个样子的: 程序一: #include void main() {

printf(\} 程序二: #include int main() {

printf(\ return 0; }

上面的程序你任意模仿一个,看看是否可以通过?如果你能通过这个简单的程序,那就让我们继续完成后面的习题吧。 输入:无 输出:Hello world. #include int main() {

printf(\}

1.2 Welcome to Beijing.

让我们来练习如何显示多行文字。 输入:无

输出:就是下面的那段文字。 #include void main()

{printf(\printf(\printf(\}

1.3 练习最简单的printf和scanf

printf函数和scanf函数是C语言中最常用的函数之一,下面让我们练习一下吧。 输入:整型变量x的值。

输出:输出整型变量x对应的十进制、八进制和十六进制形式。 认真观察-1的八进制和十六进制输出,请想想是为什么。 #include int main() {int x;

scanf(\printf(\

- 1 -

printf(\printf(\return 0; }

1.4 练习两个整数之间的运算 背景:基本练习。

输入:接受两个整数,每个整数之间使用空格分隔。例如输入格式为:123 444 输出:分别输出进行+、-、*、/、*之后的运行结果。 #include int main() {int x,y;

scanf(\ printf(\ printf(\ printf(\ printf(\ printf(\ return 0; }

1.5 学习打印你的第一个图形

背景:我们已经学习了printf函数,这里给出了一个小程序,它运行的结果是输出一个由星号(*)组成的4*4的正方形。 程序如下: #include int main() {

printf(\ printf(\ printf(\ printf(\ return 0; }

要求:按照上面的程序范例,编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。 输入:无。 输出:指定图形。 #include int main() {

printf(\ *\\n\ printf(\ ***\\n\ printf(\ printf(\ return 0; }

2.1 整型数的表示范围

- 2 -

编写一个循环程序,输入 N 值,输出 N 的阶乘。关于循环程序怎么编写,可以参考教材第3章P66页的例题4.2和第5章P82的例题5.1的内容。注意整型数的表示范围,如果当输入的 N 比较大时,例如 N 等于 20 时,输出怎么是负数了?自己想明白吧! #include void main() {int N,i; int sum=1; N>=2;

scanf(\if(N<=16) {for (i=1;i<=N;i++) sum=sum*i; printf(\} if(N>=17)

printf(\}

2.2 求正弦函数值

已知求正弦 sin(x) 的近似值的多项式公式为:

sin(x) = x - x3/3! + x5/5! - x7/7!+ …… + (-1)n x2n+1/(2n+1)! + …

编写程序,要求输入 x (单位是弧度)和ε,按上述公式计算 sin(x) 的近似值,要求计算的误差小于给定的ε。 此题当然要用到循环语句,到第5章去找个猫来照着画吧,循环的终止条件就是本次计算出来的正弦函数值和上次计算的值的差小于给定的ε。求两个值的差时,要求出其绝对值,使用库函数fabs(),头文件在math.h里。

友情提示:给定的误差值ε越小,计算的精度越高,但是要注意喽,给的精度太高,你的程序会成为死循环。如果出现死循环的情况,可以用+键退出程序。 #include #include int main()

{ float x,eps,s,y=0,y0,t; int n,j;

scanf(\ n=t=j=1; s=x; do { y0=y;

if (n%2==0) y=y-s/t; else y=y+s/t; s*=x*x; t*=(j+1)*(j+2); j+=2; n++;

} while(fabs(y0-y)>eps); printf(\system(\

- 3 -

return 0; }

2.3 判断输入的字符的类型

我们将字符分为五类:大写字母、小写字母、数字、控制字符、其他字符。

编写程序,从键盘输入一个字符,输出字符所属的类型:大写字母时输出capital letters, 小写字母时输出small letters,数字是输出figures,其他字符时输出 others。 #include void main() { char c;

c = getchar ( ); if (c < 0x20)

printf (\ else if (c >= '0' && c <= '9') printf (\ else if (c >= 'A' && c <= 'Z')

printf (\ else if (c >= 'a' && c <= 'z')

printf (\ else

printf (\}

3.1 找零钱

假定有 5 角、 1 角、 5 分、 2 分和 1 分共 5 种硬币,在 给顾客找硬币时,一般都会尽可能地选用硬币个数最小的方法。 例如,当要给某顾客找 7 角 2 分钱时,会给他一个 5 角, 2 个 1 角 和 1 个 2 分的硬币。试编写一个程序,输入的是要找给顾客的零 钱(以分为单位),输出的是应该找回的各种硬币数目,并保 证找回的硬币数最少。 #include int main() {

int x1,x2,x3,x4,x5; int x;

scanf(\ x1=x/50; x2=xP/10; x3=xP/5; x4=xP%5/2; x5=xP%5%2/1; printf(\ printf(\ printf(\ printf(\ printf(\ return 0; }

- 4 -

3.2 计算时钟的夹角

背景:钟面上的时针和分针之间的夹角总是在 0 度~ 359 度之间。举例来说,在十二点的时候两针之间的夹角为 0 度,而在六点的时候夹角为 180 度,在三点的时候为 90 度。本题要解决的是计算 0:00 到 12:00之间任意一个时间的夹角。 输入: 每组测试数据包含两个数字:第一个数字代表小时 ( 大于等于 0 小于 12) ,第二个数字代表分 ( 在区间 [0, 59] 上 ) 。

输出: 对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位。

友情提示:以表中心到12点的连线为基准,分针每走1分钟是6度,时针与基准的夹角每个小时也是30度,从整点开始,每过1分钟时针再增加0.5度。

提示:时钟夹角计算公式|5.5m-30h|,h为时针,m为分针。求浮点型绝对值的函数为fabs,需要包含math.h头文件 #include \#include \int main() { }

3.3 照猫画猫:计算圆柱的侧面积及体积

如果已知圆柱的底面半径 r ,以及高 h ,则可计算出圆柱的侧面积 s=2πrh ,体积 v=π r 2 h 。其中 π=3.1415926 输入 第一行输入圆柱的底面半径 r 第二行输入圆柱的高 h

输出 s=< 圆柱的侧面积 >,v=< 圆柱的体积 > 要求 1. 所有变量都定义为双精度类型 2. 结果精确到小数点后两位 #include \ #define n 3.1415926 int main() {

float r,h,s,v; printf;

scanf(\ s=2*n*r*h; v=n*r*r*h;

printf(\ }

3.4 分离整数

任意从键盘上输入一个三位正整数,要求正确地分离出它的个位、十位和百位,并分别在屏幕上输出。 比如输入的三位正整数 #include \int main()

int h,m; double angle; scanf(\angle=fabs(5.5*m-30*h); if(angle>180)

angle=360-angle;

printf(\

- 5 -

{ }

3.5 鸡兔同笼

已知笼中有头h个,有脚f条,问笼中鸡兔各有多少只? 输入:头和脚的数目

输出:兔子和鸡的数目(输出语句为:printf(\) Sample 输入:10 20

输出:rabbit=0,chicken=10 #include \int main() { }

4.1 温度转换

背景: 经常出国旅行的驴友都知道,需要时时了解当地的气温状况,但不少国家采用了不同的温度计量单位:有些使用华氏温度标准(F),有些使用摄氏温度(C)。现在,请你根据温度转换公式设计一个温度转换程序,可以进行温度转换。如果输入摄氏温度,显示转换的华氏温度;如果输入华氏温度,显示转换的摄氏温度。

温度转换的公式为:F=(C×9/5)+32 ;C=(F-32)×5/9 ;式中F--华氏温度,C--摄氏温度。 输入: 第一个数据(1 或 2 )确定转换的类型:华氏转摄氏(1);摄氏转华氏(2); 第二个数据是相应需要转换的温度值。

输出: 相应的转换后的温度值(保留小数点后 2 位)。 #include void main() { int lx; double f,c; scanf(\ if(lx==1){

scanf(\ c=(f-32)*5/9;

printf(\ }

int chicken,rabbit,f,h; scanf(\rabbit=(f-2*h)/2; chicken=(4*h-f)/2;

printf(\int x,hundreds,tens,units; printf; scanf(\hundreds=x/100; tens=x0/10; units=x0;

printf(\

- 6 -

else{

scanf(\ f=(c*9/5)+32;

printf(\ } }

4.2 分段函数

有一分段函数,y=f(x)。当x小于6时,y=x-12;当x大于等于6且小于15时,y=3x-1;当x大于等于15时,y=5x+9.从键盘上输入一个整数x,输出对应的y值。 #include void main() { }

4.3 整数位数判断

输入一个不多于5位的正整数,要求: (1)求它是几位数;(2)逆序打印出各位数字。 #include #include #define SIZE 5 int main(void) {

int bit_count;//位数 long int input_num;//输入数

int result[SIZE];//存放各个位的数 int i; scanf(\

if (input_num < 0 || input_num > 99999) { printf(\ exit(1); }

for( bit_count = 0; input_num; ++bit_count) { result[bit_count] = input_num % 10; input_num /= 10; }

int x,y; scanf(\if(x<6) else

y=5*x+9; printf(\return 0;

y=x-12; y=3*x-1; else if(x<15)

- 7 -

printf(\ for(i = 0; i < bit_count; ++i) printf(\ printf(\ exit(0); }

4.4 四位数拆分

输入一个四位数,判断千位、百位、十位和个位数字之和是否为偶数,如果是,输出Yes,如果不是,输出No;如果不是四位数,输出Invalid data。 #include void main() {

int x,a,b,c,d,e; scanf(\

if(x/1000<1||x/10000>=1) } }

4.5 磨磨你的砍柴刀:判断三角形的形状

要求:输入三角型的三条边,判断三角形的形状。假设输入的三边边长均>0。 输入:三角型的3条边的长度(int型)。 输出:等边三角形:equilateral triangle. 等腰三角形:isoceles triangle. 不构成三角形:non-triangle. 一般三角形:triangle. #include void main() {

float a,b,c;

scanf(\ if(a+b printf(\ printf(\ else if(a==b&&b==c)

printf(\ a=x/1000; c=x000/10; d=x000; e=(a+b+c+d)%2; if(e==0)

printf(\ printf(\

else {

b=x00/100;

else

- 8 -

else if(a==b||b==c||a==c) }

4.6 字符加密输出

从键盘上输入一个字符,进行加密以后再输出在屏幕上。加密规律是:输入小写英文字母时,输入a 输出Z、输入b输出Y、输入c输出X、...、输入z输出A。输入大写英文字母时,将该字母ASCII码值再加上该值的1/2后输出所对应的字符,例如数字A的ASCII码值是65,加上其值的1/2后是98(小数四舍五入),则输出字符‘b’。输入数字时,将该数字原ASCII码值再加上该值十进制的十位上的数后输出,例如数字9的ASCII码值是57,加上十位上的数5后是62,则输出字符‘>’。输入其他字符时原样输出。 友情提示:整数之间运算的结果要取整,例如5/2的结果是2,而5.0/2.0对小数四舍五入的结果就是3.0了。所以输入大写英文字母时的输出要仔细考虑。 #include int main() { char ch; int a; ch=getchar();

if(ch>=97&&ch<=122) {ch=187-ch;putchar(ch);} else if(ch>=65&&ch<=90) {a=ch%2;

if (a==1) (char)a=(ch+1)/2+ch; else (char)a=ch/2+ch; putchar(a);} else if(ch>=48&&ch<=57) {ch=ch/10+ch; putchar(ch);} else putchar(ch); printf(\ }

4.7 判断某年某月的天数

一年有365天,有的月份有31天,有的有30天,2月份闰年的时候是29天,非闰年的时候是28天。现在要求从键盘上输入一个年份和月份,输出其对应的天数。 #include main()

{ int year,month,days;

scanf(\ switch(month) { case 1: case 3: case 5: case 7: case 8: case 10:

printf(\ printf(\ else

- 9 -

case 12: days=31;break; case 4: case 6: case 9:

case 11:days=30;break;

case 2:if((year % 4 ==0) && (year % 100 !=0) ||(year % 400==0)) days=29; else days=28; }

printf(\}

4.8 花多少钱买衣服

周末商场促销呢,某品牌服装既可以买套装,也可以买单件。若买的不少于50套,每套80元;不足50套的每套90元,只买上衣每件60元,只买裤子每条45元。编写程序,输入计划购买的上衣数量 a 和裤子的数量 b ,计算并输出应该付的款 m 。 #include void main() { int a,b,y;

scanf(\ if(b<=a&&b<50) }

4.9 到邮局去寄包裹

你去邮局给朋友寄礼物。发现邮局对邮寄包裹的费用是这样规定的:如果包裹长宽高任意一个尺寸超过1米,或重量超过30千克,不予邮寄;对可以邮寄的包裹每件收手续费 0.2 元,不同重量的邮资按下表计算: 重量(千克) 收费标准(元) 小于10 0 . 80

大于等于10但不超过20 0 . 75

大于等于20但不超过30 0 . 70

编写程序,输入包裹的长、宽、高尺寸和重量,输出所需的邮资(输出结果中包含两位小数即可),超出尺寸或重量的输出 \” . #include void main()

y=90*b+(a-b)*60; y=80*b+(a-b)*60; y=90*a+(b-a)*45; y=80*a+(b-a)*45; if(b<=a&&b>=50) if(a=50) printf(\

- 10 -

{

float a,b,c,m,y;

scanf(\ if(a>1||b>1||c>1||m>30) } }

4.10 输出星期几的英文表示

输入用数字(1--7)表示的星期几,输出星期几的英文表示,输入的数字有误,输出单词\回车)\。 #include void main() { int a;

scanf(\ switch((int)(a)) {

case 1:printf(\ case 2:printf(\ case 3:printf(\ case 4:printf(\ case 5:printf(\ case 6:printf(\ case 7:printf(\ default:printf(\ }

5.1 输出一行星号

编写程序在一行中输出 N 个星号。 输入: N值

输出: 一行中N个星号 #include int main() {

int n,i; scanf(\

for(i=0;i

}

printf(\ if(m<10) y=0.80*m+0.2; y=0.75*m+0.2; y=0.70*m+0.2; printf(\ else {

else if(m<20) else

- 11 -

putchar('\\n'); return 0; }

5.2 打印平行四边形

输入图形的高 n 和首字符 c ,输出如下例( n=5 ,c='A' )所示的图形 . ABCDE BCDEF CDEFG DEFGH EFGHI

输入:整数n例如 5 和某个字符例如 A 输出:高为5和首字符A 的平行四边形 #include void main() { int n,m,i,d; char p,t;

scanf(\ for(m=0;m

for(i=0;i

printf(\ }

for(d=0;d

t=p+d+m; printf(\ }

for(i=0;i

printf(\ }

printf(\ } }

5.3 空心的倒三角型

背景:请根据要求打印可空心倒三角形。 输入: 输入三角形的高度(h >0)。

输出:打印相应的空心倒三角形。图样参见测试用例。 #include #include int main() {int h,i,j,k,m,n;

- 12 -

scanf(\ if((h>1)&&(h%2!=0)) { } else }

选做 5.4 打印实心正方形

5.1题中你已经打印了一行*号,这次在屏幕上输出一个由星号组成的 n 行 n 列的正方形。 程序输入 n 值,输出如下例( n=4 )所示的高和上底均为 n 的正方形: **** **** **** ****

#include #include int main() {

int a=1,n,b;

printf(\ return 0;

for(i=1; i<=(2*h-1); i++) { }

printf(\ for(j=1; j<=(h-2); j++) { }

for(n=1;n<=(h-1);n++) { }

printf(\

printf(\ for(k=1; k<=j; k++) { }

printf(\

for(m=1; m<=(2*h-3-2*j); m++) { }

printf(\ printf(\

printf(\ printf(\ printf(\

- 13 -

scanf(\ while(a<=n) { b=1; do {

printf(\ b++; }

while(b<=n); printf(\ a++; } return 0; }

选做 5.5 空心字符菱形

输入:菱型起始字母和菱形的高度。

输出:参看测试用例,打印空心的由字符组成的菱形。 #include #include int main() {

char ch; int n,a=1,b,c;

scanf(\ while(a<=n) { b=1; while(b<=n-a) {

printf(\ b++; }

printf(\ c=1; if(a>=2) {

while(c<=2*a-3) {

printf(\ c++; }

printf(\ }

- 14 -

ch=ch+1; printf(\ a++; }

a=1; ch=ch-2; while(a<=n-1) { b=1; while(b<=a) {

printf(\ b++; }

printf(\ c=1; if(a<=n-2) {

while(c<=2*n-2*a-3) {

printf(\ c++; }

printf(\ } ch=ch-1; printf(\ a++; } return 0; }

选做 5.6 输出一个字母K吧!

输入一个整数n,输出图形K。如n=4时,输出如下图形。 * * * * * * * * * * * * * #include #include int main() {

int n,i=1,j;

- 15 -

scanf(\ while(i<=n-1) { j=1; printf(\ while(j<=n-i) {

printf(\ j++; }

printf(\ i++; }

printf(\ i=1; while(i<=n-1) { j=1; printf(\ while(j<=i) {

printf(\ j++; }

printf(\ i++; } return 0; }

选做 5.7 输出X图形

输入 n 值,输出下例( n=3 )所示的图形:* * * * * * * * *

输入:整数n(例如3) 输出:如上图所示X 形图形 #include #include int main() {

int n,i=1,j,k; scanf(\

- 16 -

while(i<=n-1) { j=1; while(j<=i-1) {

printf(\ j++; }

printf(\ k=1;

while(k<=2*n-2*i-1) {

printf(\ k++; }

printf(\ j=1; while(j<=i-1) {

printf(\ j++; }

printf(\ i++; } i=1; while(i<=n-1) {

printf(\ i++; }

printf(\ i=1; while(i<=n-1) {

printf(\ i++; }

printf(\ i=1; while(i<=n-1) { j=1;

while(j<=n-i-1)

- 17 -

{

printf(\ j++; }

printf(\ k=1;

while(k<=2*i-1) {

printf(\ k++; }

printf(\ j=1;

while(j<=n-i-1) {

printf(\ j++; }

printf(\ i++; } return 0; }

选做 5.8 输出图形

编程,输入 n 值,输出下例( n=5 )所示的高为 n 的图形 : #include #include int main() {

int n,i=1,j,k,l; scanf(\ while(i<=n-1) { j=1; while(j<=i) {

printf(\ j++; } k=1;

while(k<=2*n-2*i-1) {

printf(\ k++;

- 18 -

} l=1; while(l<=i) {

printf(\ l++; }

printf(\ i++; } i=1;

while(i<=2*n-1) {

printf(\ i++; }

printf(\ return 0; }

选做 5.9 画个空心的梯形吧

编程,输入 n ,输出如下例( n=5 )所示的 高和上底均为 n 的等腰空心梯形。 #include #include int main() {

int n,i=1,j,k; scanf(\ while(i<=n) { j=1; while(j<=n-i) {

printf(\ j++; }

printf(\ if(i==1) {

for(k=1; k<=n-2; k++) printf(\ }

else if(i==n) {

- 19 -

for(k=1; k<=3*n-4; k++) printf(\ } else {

for(k=1; k<=n+2*i-4; k++) printf(\ }

printf(\ j=1; while(j<=n-i) {

printf(\ j++; }

printf(\ i++; } return 0; }

选做 5.10 输出菱形图案

输入 n ,输出如下例( n=3 )所示的菱形: * *** ***** *** *

#include #include int main() {

int n,i,j,k; scanf(\ for(i=1; i<=n; i++) {

for(j=1; j<=n-i; j++) {

printf(\ }

for(k=1; k<=2*i-1; k++) {

printf(\ }

printf(\

- 20 -

} } if(n==c) {

printf(\ } else {

printf(\ } return 0; }

选做 5.19 高次方的尾数

输入2个正整数m和n,求mn后三位数。比如输入m和n的值分别为13和13,则1313的后三位数字为253。 #include #include int main() {

int m,n,a,b=1,c; scanf(\ for(a=1; a<=n; a++) { b=b*m; b=b00; }

printf(\ return 0; }

选做 5.20 阶乘尾数零的个数

输入一个正整数n,求其阶乘尾数0的个数。比如,输入n的值为100,则其阶乘尾数0的个数为24。 #include #include int main() {

int n,a,b,c; scanf(\ a=n/25; b=n/5; c=a+b;

printf(\ return 0; }

5.21 看看是谁做的好事

某四位同学中有一个做了好事 , 不留名 , 表扬信来了,校长问是谁做的好事 . 以下四个人中有三个人说的是真话.

- 26 -

A 说 : 不是我 B 说 : 是 C C 说 : 是 D D 说 : 他说的不对 !

编写程序:输出是谁做的好事,只输出对应的大写字母,输出格式printf(\ 。 #include #include int main() {

char ch;

for(ch='A'; ch<='D'; ch++) {

if(ch=='A'&&ch=='C'&&ch=='D'&&ch!='D') printf(\

if(ch!='A'&&ch!='C'&&ch=='D'&&ch!='D') printf(\

if(ch!='A'&&ch=='C'&&ch!='D'&&ch!='D') printf(\

if(ch!='A'&&ch=='C'&&ch=='D'&&ch=='D') printf(\ } }

5.22 贪吃的猴子

有一只猴子,第一天摘了若干个桃子 ,当即吃了一半,但还觉得不过瘾 ,就又多吃了一个。第2天早上又将剩下的桃子吃掉一半,还是觉得不过瘾,就又多吃了两个。以后每天早上都吃了前一天剩下的一半加天数个(例如,第5天吃了前一天剩下的一半加5个)。到第n天早上再想吃的时候,就只剩下一个桃子了。 输入:天数n

输出:第一天的桃子个数,输出语句为printf(\ Smaple: Input: 5 Output

The monkey got 114 peachs in first day. #include #include int main() {

int n,i; long int m=1; scanf(\ for(i=1; i<=n-1; i++) {

m=(n-i+m)*2; }

- 27 -

printf(\ return 0; }

5.23 百马百担

有100匹马,驮100担货,其中大马驮3担,中马驮2担,两匹小马驮1担 输入:无

输出:大、中、小马的个数,用逗号分隔。例如:2,30,68

说明:大、中、小马都必须有,结果中要列出所有的组合可能每个结果占一行因为有多个结果,结果的排序按照大马的个数从少到多 #include void main() {int x,y,z;

for(x=1;x<33;x++) }

5.24 四大湖问题 我国有4大淡水湖。

A说:洞庭湖最大,洪泽最小。鄱阳湖第三。

B说:洪泽湖最大,洞庭湖最小,鄱阳湖第二。太湖第三。 C说:洪泽湖最小,洞庭湖第三。

D说:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。 4个人每人仅答对了一个,请你编程给出4个湖从大到小的顺序。 #include #include int main() {

int a,b,c,d; for(a=1; a<=4; a++) for(b=1; b<=4; b++) {

if(b==a) continue; for(c=1; c<=4; c++) {

if(c==a||c==b) continue; for(d=1; d<=4; d++) {

if(d==a||d==b||d==c) continue;

if((b==1||d==4||a==3)==1&&(d==1||b==4||a==2||c==3)==1&&(d==4||b==3)==1&&(a==1||c==4||d==2||b==3)==1) {

for(y=1;y<50;y++) {z=(100-3*x-2*y)*2; if(x+y+z==100)

printf(\ }

- 28 -

if(a==1) printf(\鄱阳湖\\n\ if(a==2) printf(\鄱阳湖\\n\ if(a==3) printf(\鄱阳湖\\n\ if(a==4) printf(\鄱阳湖\\n\ if(b==1) printf(\洞庭湖\\n\ if(b==2) printf(\洞庭湖\\n\ if(b==3) printf(\洞庭湖\\n\ if(b==4) printf(\洞庭湖\\n\ if(c==1) printf(\太湖\\n\ if(c==2) printf(\太湖\\n\ if(c==3) printf(\太湖\\n\ if(c==4) printf(\太湖\\n\ if(d==1) printf(\洪泽湖\\n\ if(d==2) printf(\洪泽湖\\n\ if(d==3) printf(\洪泽湖\\n\ if(d==4) printf(\洪泽湖\\n\ break; } } break; } break; } return 0; }

选做 5.25 黑色星期五

在西方,星期五和数字 13 都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。所以,不管哪个月的13日又恰逢星期五就叫 “ 黑色星期五 ” 。输入某年年号和该年的元旦是星期几( 1-7),输出该年所有的 “ 黑色星期五 ” 的日期(年 /月/日) 。

输入: 4位年号和该年元旦是星期几

输出: 所有的 “黑色星期五”的日期(年/月/日) #include #include int main() {

int y,m,d,x;

scanf(\ for(m=1; m<=12; m++) {

if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) {

for(d=1; d<=31; d++) {

if(d==13&&x==5)

- 29 -

printf(\ x++; if(x==8) x=1; } }

if(m==4||m==6||m==9||m==11) {

for(d=1; d<=30; d++) {

if(d==13&&x==5)

printf(\ x++; if(x==8) x=1; } }

if(((y%4==0&&y0!=0)||y@0==0)&&m==2) {

for(d=1; d<=29; d++) {

if(d==13&&x==5)

printf(\ x++; if(x==8) x=1; } }

if(y%4!=0&&m==2) {

for(d=1; d<=28; d++) {

if(d==13&&x==5)

printf(\ x++; if(x==8) x=1; } } } return 0; }

选做 5.26 抓疑犯

某地刑侦大队对涉及六个嫌疑人的一桩疑案进行分析:

- 30 -

本文来源:https://www.bwwdw.com/article/yva2.html

Top