1、 题目:输入某年某月某日,判断这一天是这一年的第几天? 1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊 情况,闰年且输入月份大于3时需考虑多加一天. 2.程序源代码: #include "stdio.h" main() { int day,month,year,sum,leap; printf("\nplease input year,month,day\n"); scanf("%d,%d,%d",&year,&month,&day); switch(month)/*先计算某月以前月份
2、的总天数*/ { case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; cas
3、e 12:sum=334;break; default:printf("data error");exit(0); } sum=sum+day; /*再加上某天的天数*/ if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/ leap=1; else leap=0; if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/ sum++; printf("It is the %dth day.",sum); }
4、
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续
判断第二个字母.
1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母.
2.程序源代码:
#include
5、S':printf("please input second letter\n"); if((letter=getch())=='a') printf("saturday\n"); else if ((letter=getch())=='u') printf("sunday\n"); else printf("data error\n"); break; cas
6、e 'F':printf("friday\n");break; case 'M':printf("monday\n");break; case 'T':printf("please input second letter\n"); if((letter=getch())=='u') printf("tuesday\n"); else if ((letter=getch())=='h') printf("thursday\n");
7、 else printf("data error\n"); break; case 'W':printf("wednesday\n");break; default: printf("data error\n"); } } } 题目:求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘. 2.程序源代码: main() { float n,s=0,t=1; for(n=1;n<=20;n++) {
8、 t*=n; s+=t; } printf("1+2!+3!...+20!=%e\n",s); } 题目:输出9*9口诀. 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列. 2.程序源代码: #include "stdio.h" main() { int i,j,result; printf("\n"); for (i=1;i<10;i++) { for(j=1;j<10;j++) { result=i*j;
9、 printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/ } printf("\n");/*每一行后换行*/ } } 题目:打印出杨辉三角形(要求打印出10行如下图) 1.程序分析: 1 1 1 1 2 1 1 3 3 1
10、 1 4 6 4 1 1 5 10 10 5 1 2.程序源代码: main() {int i,j; int a[10][10]; printf("\n"); for(i=0;i<10;i++) {a[i][0]=1; a[i][i]=1;} for(i=2;i<10;i++) for(j=1;j
11、<=i;j++) printf("%5d",a[i][j]); printf("\n"); } } 题目:1!+2!+3!+……+a!=?\n 输入a,然后求n. #include"stdio.h" main() { long double a,sum=0,sum1=1; int b; printf("1!+2!+3!+……+a!=?\n请输入a=:\n"); repeat1:scanf("%d",&b); if(b<=0||b>1000) { pri
12、ntf("请重新输入一个正确的数,数值范围是1-100.\n"); goto repeat1; } repeat:for(a=1;a<=b;a++) { sum1=sum1*a; sum=sum1+sum; } printf("1!+2!+3!+……+%d!==%.6e\n",b,sum); printf("如果想继续重新运算请输入任意数继续算,如果想终止运行请输入0.\n"); scanf("%d",&b); if(b) { if(b<=0||b>1000) { printf("请重新输入一个正确的数,数值范围是1-100.\n"); goto repeat1; } sum=0;sum1=1; goto repeat; } getch(); }






