作业1:展开的思路,按要求分析以下代码。
要求不要放到编译器中运行,自己手动分析出每条输出语句的结果,分析出结果后,再在编译器中执行验证结果
void main()
{
int num,num2,num3;
num=1;
num2=2;
num3=3;
num=++num2+ ++num3;
printf("\n%d,%d,%d",num,num2,num3);//输出结果1
num=num2++ + num3++;
printf("\n%d,%d,%d",num,num2,num3); //输出结果2
num=++num2> num3++;
printf("\n%d,%d,%d",num,num2,num3); //输出结果3
num=num2-- && --num3;
printf("\n%d,%d,%d",num,num2,num3); //输出结果4
num = num2>num3 ? num2++ : num3++;
printf("\n%d,%d,%d",num,num2,num3); //输出结果5
}
1
2 #include<string.h>
3 #include<stdio.h>
4 #include<stdlib.h>
5
6 int main(int argc, const char *argv[])
7 {
8 int num,num2,num3;
9 num=1; num2=2; num3=3;
10 num=++num2+ ++num3;
11 printf("\n%d,%d,%d",num,num2,num3);//输出结果1 num=7,num2=3,num3=4;
12
13 num=num2++ +num3++;
14 printf("\n%d,%d,%d",num,num2,num3);//输出结果2 num=7,num2=4,num3=5;
15
16 num=++num2> num3++;
17 printf("\n%d,%d,%d",num,num2,num3);//输出结果3 num=0,num2=5,num3=6;
18
19 num=num2--&&--num3;
20 printf("\n%d,%d,%d",num,num2,num3);//输出结果4 num=1,num2=4,num3=5;
21
22 num=num2>num3?num2++:num3++;
23 printf("\n%d,%d,%d",num,num2,num3);//输出结果5 num=5,num2=4,num3=6;
24
25 return 0;
26 }
作业二:编程实现:输入华氏温度F,要求输出对应的摄氏温度C,要求结果保留两位小数。计算公式为:C = 5/9*(F-32);
1
2 #include<string.h>
3 #include<stdio.h>
4 #include<stdlib.h>
5
6 int main(int argc, const char *argv[])
7 {
8 float F,C;
9 printf("请输入华氏温度:");
10 scanf("%f",&F);
11 C=(F-32)*5/9;
12 printf("\n当前摄氏温度为:%.2lf\n", C);
13
14 return 0;
15 }
作业三:使用switch实现简易计算器:例如,输入一个表达式:3+5,程序输出结果为8
1
2 #include<string.h>
3 #include<stdio.h>
4 #include<stdlib.h>
5
6 int main(int argc, const char *argv[])
7 {
8 int m,n; char s; //m s(+-*/) n
9 printf("请输入你的表达式:");
10 scanf("%d%c%d", &m,&s,&n);
11 switch(s)
12 {
13 case '+':printf("%d+%d=%d\n", m,n,m+n);break;
14 case '-':printf("%d-%d=%d\n", m,n,m-n);break;
15 case '*':printf("%d*%d=%d\n", m,n,m*n);break;
16 case '/':printf("%d/%d=%d\n", m,n,m/n);break;
17 }
18 return 0;
19 }
作业四:使用switch实现,要求输入一个日期,输出该日期是对应今年的第几天
例如输入:2023 1 20 输出结果:该日期是今年第20天
1
2 #include<string.h>
3 #include<stdio.h>
4 #include<stdlib.h>
5
6 int main(int argc, const char *argv[])
7 {
8 int y,m,d; //分别表示年月
9 int a; //闰年二月的天数
10 int day; //总天数
11 printf("请输入年,月,日");
12 scanf("%d%d%d",&y,&m,&d);
13
14 if(y/4==0&&y/100!=0||y/400==0) //是否为闰年
15 {
16 a=29;
17 }else
18 {
19 a=28;
20 }
21
22
23 switch(m) //选择月份
24 {
25 case 1:printf("day=d");break;
26 case 2:printf("day=31+d");break;
27 case 3:if(a==29)
28 {
29 printf("day=60+d");
30 }else
31 {
32 printf("day=59+d");
33 }
34 case 4:if(a==29)
35 {
36 printf("day=91+d");
37 }else
38 {
39 printf("day=90+d");
40 }
41 case 5:if(a==29)
42 {
43 printf("day=121+d");
44 }else
45 {
46 printf("day=120+d");
47 }
48 case 6:if(a==29)
49 {
50 printf("day=152+d");
51 }else
52 {
53 printf("day=151+d");
54 }
55 case 7:if(a==29)
56 {
57 printf("day=182+d");
58 }else
59 {
60 printf("day=181+d");
61 }
62 case 8:if(a==29)
63 {
64 printf("day=213+d");
65 }else
66 {
67 printf("day=212+d");
68 }
69 case 9:if(a==29)
70 {
71 printf("day=244+d");
72 }else
73 {
74 printf("day=243+d");
75 }
76 case 10:if(a==29)
77 {
78 printf("day=274+d");
79 }else
80 {
81 printf("day=273+d");
82 }
83 case 11:if(a==29)
84 {
85 printf("day=305+d");
86 }else
87 {
88 printf("day=304+d");
89 }
90 case 12:if(a==29)
91 {
92 printf("day=335+d");
93 }else
94 {
95 printf("day=334+d");
96 }
97 default:printf("只有十二个月");
98 }
99
100 return 0;
101 }