作业1:展开的思路,按要求分析以下代码。
要求不要放到编译器中运行,自己手动分析出每条输出语句的结果,分析出结果后,再在编译器中执行验证结果
void main()
{
int num,num2,num3;
num=1;
num2=2;
num3=3;
num=++num2+ ++num3;
printf("\n%d,%d,%d",num,num2,num3);//输出结果 7,3,4
num=num2++ + num3++;
printf("\n%d,%d,%d",num,num2,num3); //输出结果7,4,5
num=++num2> num3++;
printf("\n%d,%d,%d",num,num2,num3); //输出结果0,5,6
num=num2-- && --num3;
printf("\n%d,%d,%d",num,num2,num3); //输出结果1,4,5
num = num2>num3 ? num2++ : num3++;
printf("\n%d,%d,%d",num,num2,num3); //输出结果5,4,6
}
作业二:编程实现:输入华氏温度F,要求输出对应的摄氏温度C,要求结果保留两位小数。计算公式为:C = 5/9*(F-32);
#include<stdio.h>
int main()
{
float F,C;
printf("输入华氏温度F");
scanf("%f",&F);
C=(F-32)*5/9;
printf("摄氏度是%.2f",C);
return 0;
}
作业三:使用switch实现简易计算器:例如,输入一个表达式:3+5,程序输出结果为8.
#include<stdio.h>
int main()
{
double a,b;
char ch;
scanf("%lf%c%lf",&a,&ch,&b);
switch(ch)
{
case '+':
printf("%lf",a+b);
break;
case '-':
printf("%lf",a-b);
break;
case '*':
printf("%lf",a*b);
break;
case '/':
printf("%lf",a/b);
break;
default:
printf("输入有误请重新输入");
}
return 0;
}
作业四:使用switch实现,要求输入一个日期,输出该日期是对应今年的第几天
例如输入:2023 1 20 输出结果:该日期是今年第20天
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if((a%4==0&&a%100!=0)||a%400==0)//闰年
{
switch(b)
{
case 1:
{
if (c>0&&c<=31)
printf("该日期是今年第%d天",c);
else
printf("输入错误,请重新输入");
}
break;
case 2:
{
if (c>0&&c<=29)
printf("该日期是今年第%d天",31+c);
else
printf("输入错误,请重新输入");
}
break;
case 3:
{
if (c>0&&c<=31)
printf("该日期是今年第%d天",31+29+c);
else
printf("输入错误,请重新输入");
}
break;
case 4:
{
if (c>0&&c<=30)
printf("该日期是今年第%d天",31+29+31+c);
else
printf("输入错误,请重新输入");
}
break;
case 5:
{
if (c>0&&c<=31)
printf("该日期是今年第%d天",31+29+31+30+c);
else
printf("输入错误,请重新输入");
}
break;
case 6:
{
if (c>0&&c<=30)
printf("该日期是今年第%d天",31+29+31+30+31+c);
else
printf("输入错误,请重新输入");
}
break;
case 7:
{
if (c>0&&c<=31)
printf("该日期是今年第%d天",31+29+31+30+31+30+c);
else
printf("输入错误,请重新输入");
}
break;
case 8:
{
if (c>0&&c<=31)
printf("该日期是今年第%d天",31+29+31+30+31+30+31+c);
else
printf("输入错误,请重新输入");
}
break;
case 9:
{
if (c>0&&c<=30)
printf("该日期是今年第%d天",31+29+31+30+31+30+31+31+c);
else
printf("输入错误,请重新输入");
}
break;
case 10:
{
if (c>0&&c<=31)
printf("该日期是今年第%d天",31+29+31+30+31+30+31+31+30+c);
else
printf("输入错误,请重新输入");
}
break;
case 11:
{
if (c>0&&c<=30)
printf("该日期是今年第%d天",31+29+31+30+31+30+31+31+30+31+c);
else
printf("输入错误,请重新输入");
}
break;
case 12:
{
if (c>0&&c<=31)
printf("该日期是今年第%d天",31+29+31+30+31+30+31+31+30+31+30+c);
else
printf("输入错误,请重新输入");
}
break;
default:
printf("输入有误,请重新输入");
}
}
//平年
else
switch(b)
{
case 1:
{
if (c>0&&c<=31)
printf("该日期是今年第%d天",c);
else
printf("输入错误,请重新输入");
}
break;
case 2:
{
if (c>0&&c<=28)
printf("该日期是今年第%d天",31+c);
else
printf("输入错误,请重新输入");
}
break;
case 3:
{
if (c>0&&c<=31)
printf("该日期是今年第%d天",31+28+c);
else
printf("输入错误,请重新输入");
}
break;
case 4:
{
if (c>0&&c<=30)
printf("该日期是今年第%d天",31+28+31+c);
else
printf("输入错误,请重新输入");
}
break;
case 5:
{
if (c>0&&c<=31)
printf("该日期是今年第%d天",31+28+31+30+c);
else
printf("输入错误,请重新输入");
}
break;
case 6:
{
if (c>0&&c<=30)
printf("该日期是今年第%d天",31+28+31+30+31+c);
else
printf("输入错误,请重新输入");
}
break;
case 7:
{
if (c>0&&c<=31)
printf("该日期是今年第%d天",31+28+31+30+31+30+c);
else
printf("输入错误,请重新输入");
}
break;
case 8:
{
if (c>0&&c<=31)
printf("该日期是今年第%d天",31+28+31+30+31+30+31+c);
else
printf("输入错误,请重新输入");
}
break;
case 9:
{
if (c>0&&c<=30)
printf("该日期是今年第%d天",31+28+31+30+31+30+31+31+c);
else
printf("输入错误,请重新输入");
}
break;
case 10:
{
if (c>0&&c<=31)
printf("该日期是今年第%d天",31+28+31+30+31+30+31+31+30+c);
else
printf("输入错误,请重新输入");
}
break;
case 11:
{
if (c>0&&c<=30)
printf("该日期是今年第%d天",31+28+31+30+31+30+31+31+30+31+c);
else
printf("输入错误,请重新输入");
}
break;
case 12:
{
if (c>0&&c<=31)
printf("该日期是今年第%d天",31+28+31+30+31+30+31+31+30+31+30+c);
else
printf("输入错误,请重新输入");
}
break;
default:
printf("输入有误,请重新输入");
}
return 0;
}