首页 > 代码库 > 输入年份,月份,日期计算该日期是一年中的第几天//雪碧和可乐temp
输入年份,月份,日期计算该日期是一年中的第几天//雪碧和可乐temp
- 输入一个整数day代表星期几,根据day的值输出对应的星期几,比如day==1,就输出“星期一”(用两种方式实现)
int day; printf("请输入1~7的数字"); scanf("%d",&day); if(day>0&&day<8) { //多重if...else if条件分支实现 if(day==1){ printf("星期一"); }else if(day==2){ printf("星期二"); }else if(day==3){ printf("星期三"); }else if (day==4){ printf("星期四"); }else if (day==5){ printf("星期五"); }else if(day==6){ printf("星期六"); }else{ printf("星期天"); }
switch(day){ case 1: printf("星期一"); break; case 2: printf("星期二"); break; case 3: printf("星期三"); break; case 4: printf("星期四"); break; case 5: printf("星期五"); break; case 6: printf("星期六"); break; default: printf("星期天"); } }else{ printf("您输入的数字有误!请重新输入!"); } |
2.输入一个整数score代表分数,根据分数输出等级(A-E)
if(score<0||score>100){ printf("输入的分数有误,分数应该在0~100之间!"); }else{ switch(grade){ case 10: case 9: printf("A\n"); break; case 8: printf("B\n"); break; case 7: printf("C\n"); break; case 6: printf("D\n"); break; default: printf("E\n"); break; } } |
3.根据用户输入的年份,月份,日期计算该日期是一年中的第几天?
int isRun=0;//是否为闰年(计算2月的天数) printf("请输入年份:\n"); scanf("%d",&year); printf("请输入月份:\n"); scanf("%d",&month); printf("请输入日期:\n"); scanf("%d",&day); //判断当前输入的年份是否是闰年:闰年2月为29天,平年2月为28天 if((year%4==0&&year%100!=0)||(year%400==0)){ isRun=1; }//2月份的总天数=28+isRun; /* if(month==1){ total=day;//1月15日===> }else if(month==2){ total=31+day; }else if(month==3){ total=31+28+isRun+day;//1月份的天数+2月份的天数+日期 }else if(month==4){ total=31+28+isRun+31+day; }else if(month==5){ total=31+28+isRun+31+30+day; }else if(month==6){ total=31+28+isRun+31+30+31+day; }else if(month==7){ total=31+28+isRun+31+30+31+30+day; }else if(month==8){ total=31+28+isRun+31+30+31+30+31+day; }else if(month==9){ total=31+28+isRun+31+30+31+30+31+31+day; }else if(month==10){ total=31+28+isRun+31+30+31+30+31+31+30+day; }else if(month==11){ total=31+28+isRun+31+30+31+30+31+31+30+31+day; }else if(month==12){ total=31+28+isRun+31+30+31+30+31+31+30+31+30+day; } */ //利用switch的case穿透特性实现==>3月16号 switch(month) { case 12: total+=30;//加上11月份的30天 case 11: total+=31;//加上10月份的31天 case 10: total+=30;//加上9月份的30天 case 9: total+=31;//加上8月份的31天 case 8: total+=31;//加上7月份的31天 case 7: total+=30;//加上6月份的30天 case 6: total+=31;//加上5月份的31天 case 5: total+=30;//加上4月份的30天 case 4: total+=31;//加上3月份的31天 case 3: total+=28+isRun;//加上2月份的28或29天 case 2: total+=31;//加上1月份的31天 case 1: total+=day; //加上输入的日期 } printf("%d年%d月%d日是一年中第%d天",year,month,day,total);
|
扩展:
//1.将用户输入的三个数字进行排序(升序)
int a,b,c,temp; printf("请输入第一个数字:\n"); scanf("%d",&a); printf("请输入第二个数字:\n"); scanf("%d",&b); printf("请输入第三个数字:\n"); scanf("%d",&c); printf("排序前:a=%d,b=%d,c=%d\n",a,b,c); //比较a和b的大小 if(a>b){ temp=a; //雪碧和可乐的例子,找个中间变量来临时存放 a=b; b=temp; } // 比较a和c if(a>c){ temp=a; a=c; c=temp; } //比较b和c if(b>c){ temp=b; b=c; c=temp; } printf("排序后:a=%d,b=%d,c=%d\n",a,b,c); |
- 个人所得税计算器: (工资-起征税额)*税率-速算扣除数
float totalSalary;//税前工资 float tax;//个税 float realSalary;//税后工资 float taxSalary;//应缴税的工资=(税前工资-起征税额); printf("请输入您的税前工资:\n"); scanf("%f",&totalSalary); taxSalary=totalSalary-3500; if(totalSalary<3500){ printf("对不起,你属于贫农,不需要交税!"); }else{ if(taxSalary<=500){ tax=taxSalary*0.05; }else if(taxSalary>500&&taxSalary<=2000){ tax=taxSalary*0.1-25; }else if(taxSalary>2000&&taxSalary<=5000){ tax=taxSalary*0.15-125; }else if(taxSalary>5000&&taxSalary<=20000){ tax=taxSalary*0.2-375; }else if(taxSalary>20000&&taxSalary<=40000){ tax=taxSalary*0.25-1375; }else if(taxSalary>40000&&taxSalary<=60000){ tax=taxSalary*0.3-3375; }else if(taxSalary>60000&&taxSalary<=80000){ tax=taxSalary*0.35-6375; }else if(taxSalary>80000&&taxSalary<=100000){ tax=taxSalary*0.4-10375; }else{ tax=taxSalary*0.45-15375; } realSalary=totalSalary-tax; printf("您的税前工资为%7.2f,应缴个税%7.2f,税后工资:%7.2f",totalSalary,tax,realSalary); } |
输入年份,月份,日期计算该日期是一年中的第几天//雪碧和可乐temp