作业1:展开的思路,按要求分析以下代码。
要求不要放到编译器中运行,自己手动分析出每条输出语句的结果,分析出结果后,再在编译器中执行验证结果
作业四:使用switch实现,要求输入一个日期,输出该日期是对应今年的第几天
例如输入:2023 1 20 输出结果:该日期是今年第20天
作业二:编程实现:输入华氏温度F,要求输出对应的摄氏温度C,要求结果保留两位小数。计算公式为:C = (F-32)/1.80;
作业三:使用switch实现简易计算器:例如,输入一个表达式:3+5,程序输出结果为8
作业四:使用switch实现,要求输入一个日期,输出该日期是对应今年的第几天
例如输入:2023 1 20 输出结果:该日期是今年第20天
ubuntu@ubuntu:~/c_adva/4day $ ./a.out
请输入年月日:2023 3 1
2023年是平年
该日期是2023年的第60天
ubuntu@ubuntu:~/c_adva/4day $ ./a.out
请输入年月日:2023 4 1
2023年是平年
该日期是2023年的第91天
ubuntu@ubuntu:~/c_adva/4day $ ./a.out
请输入年月日:2023 5 1
2023年是平年
该日期是2023年的第121天
ubuntu@ubuntu:~/c_adva/4day $ cat 4day.c
//输入年月日求出对应该年的具体多少天。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
int main(int argc, const char *argv[])
{
int year =0;
int moon =0;
int day =0;
int flag =0;//用于标记是平闰年,规定平年为0,闰年为
printf("请输入年月日:");
scanf("%d %d %d", &year, &moon, &day);
if((year%4 == 0 && year%100 != 0) || (year%400 == 0)){
flag = 1;
printf("%d年是闰年\n", year);
}else{
flag = 0;
printf("%d年是平年\n", year);
}
switch(moon){
case 12:{
if(1==flag){
day=335+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}else{
day= 334+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}
}
case 11:{
if(1==flag){
day=305+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}else{
day= 304+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}
}
case 10:{
if(1==flag){
day=274+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}else{
day= 273+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}
}
case 9:{
if(1==flag){
day=244+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}else{
day= 243+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}
}
case 8:{
if(1==flag){
day=213+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}else{
day= 212+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}
}
case 7:{
if(1==flag){
day=182+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}else{
day= 181+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}
}
case 6:{
if(1==flag){
day=152+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}else{
day= 151+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}
}
case 5:{
if(1==flag){
day=121+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}else{
day= 120+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}
}
case 4:{
if(1==flag){
day=91+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}else{
day= 90+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}
}
case 3:{
if(1==flag){
day=60+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}else{
day= 59+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}
}
case 2:{
if(1==flag){
day=31+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}else{
day= 30+day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}
}
case 1:{
if(1==flag){
day=day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}else{
day=day;
printf("该日期是%d年的第%d天\n", year, day);
break;
}
}
}
return 0;
}