作业一:展开的思路,按要求分析以下代码。
要求不要放到编译器中运行,自己手动分析出每条输出语句的结果,分析出结果后,再在编译器中执行验证结果
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=7 num2=3 num3=4
num=num2++ + num3++;
printf("\n%d,%d,%d",num,num2,num3); //输出结果2
num=7 num2=4 num3=5
num=++num2> num3++;
printf("\n%d,%d,%d",num,num2,num3); //输出结果3
num =0 num2=5 num3=6
num=num2-- && --num3;
printf("\n%d,%d,%d",num,num2,num3); //输出结果4
num =1 num2=4 num3=5
num = num2>num3 ? num2++ : num3++;
printf("\n%d,%d,%d",num,num2,num3); //输出结果5
num =5 num2=4 num3=6
}
作业二:编程实现:输入华氏温度F,要求输出对应的摄氏温度C,要求结果保留两位小数。
计算公式为:C = 5/9*(F-32);
#include<stdio.h>
int main(){
float f;
printf("请输入华氏温度:");
scanf("%f",&f);
printf("C=%.2f",5.0/9.0*(f-32));
return 0;
}
作业三:使用switch实现简易计算器:
例如,输入一个表达式:3+5,程序输出结果为8.
#include<stdio.h>
int main(){
int a,b;
char c;
scanf("%d %c %d",&a,&c,&b);
switch(c) {
case '+':
printf("%d",a+b);
break;
case '-':
printf("%d",a-b);
break;
case '*':
printf("%d",a*b);
break;
case '/':
if (b != 0) {
printf("%d\n", a / b);
} else {
printf("Error: Division by zero\n");
}
break;
default:
break;
}
return 0;
}
作业四:使用switch实现,要求输入一个日期,输出该日期是对应今年的第几天
例如输入:2023 1 20 输出结果:该日期是今年第20天
#include<stdio.h>
int main(){
int years,months,days;
int result=0;
scanf("%d %d %d",&years,&months,&days);
//先当其为平年计算该日期对应的天数
switch (months)
{
case 1:
result +=days;
break;
case 2:
result +=31+days;
break;
case 3:
result +=59+days;
break;
case 4:
result +=90+days;
break;
case 5:
result +=120+days;
break;
case 6:
result +=151+days;
break;
case 7:
result +=181+days;
break;
case 8:
result +=212+days;
break;
case 9:
result +=243+days;
break;
case 10:
result +=273+days;
break;
case 11:
result +=304+days;
break;
case 12:
result +=334+days;
break;
default:
break;
}
//判断为闰年时2月份多一天
if(months>2){
if((years%4==0&&years%100!=0)||years%400==0){
result +=1;
}
}
printf("该日期是今年的第%d天",result);
return 0;
}