C语言50道例题答案 联系客服

发布时间 : 星期五 文章C语言50道例题答案更新完毕开始阅读96603d45b9f3f90f76c61bf5

}

21.输入年月,输出该月有多少天。 #include main()

{int a[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31}} ; int y,m,i;

printf(\scanf(\

printf(\scanf(\

i=((y%4==0)&&(y0!=0)||(y@0==0));

printf(\}

22. 编一个计算器,可以计算“+”“-”“*”“/” #include main()

{int a1,a2; char op;

printf(\scanf(\printf(\scanf(\printf(\scanf(\switch(op)

{case '+':printf(\ case '-':printf(\ case '*':printf(\ case '/':printf(\ default:printf(\}}

23.求555555的约数中最大的3位数:777 #include main()

{int a[1000],n=555555,i,j,k=0,w,t; printf(\的约数如下:\\n\for(i=100;i<1000;i++) {j=n%i; if(j==0) {a[k]=i;

printf(\t=a[0];

printf(\则其中最大的约数为:\\n\for(w=1;w

{{if(a[w]>t) t=a[w];} }

printf(\}

24. 韩信点兵:士兵5人一行,末行一人;6人一行,末行5人;7人一行,末行4人,11人一行,末行10人。求士兵人数〉11:2111 #include main()

{int s=11,i=1;

while(i==1) /*由于不知具体循环次数,故使用while型*/ {s++;

if((s%5==1)&&(s%6==5)&&(s%7==4)&&(s==10)) {printf(\

i=0; /*此处i=0*/ } }}

25. 爱因斯坦阶梯问题(119) #include main()

{int s=11,i=1;

while(i==1) /*由于不知具体循环次数,故使用while型*/ {s++; if((s%2==1)&&(s%3==2)&&(s%5==4)&&(s%6==5)&&(s%7==0)) {printf(\ i=0; /*此处i=0*/ } }}

26.输入m,n求其最小公倍数 #include int num(int u,int v) {int r;

while((r=u%v)!=0) {u=v;v=r;} return(v); }

main()

{int i,j,t;

printf(\请输入两个数:\scanf(\if(i

printf(\则这两个数的最小公倍数为:%d\\n\}

27,输入两个数并求其最大公约数。 #include int num(int u,int v) {int t,r;

if(v>u){t=u;u=v;v=t;} while((r=u%v)!=0) {u=v;v=r;} return(v);} main() {int i,j;

printf(\请输入两个数:\scanf(\

printf(\则这两个数的最大公约数为:%d\\n\}

28.输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。 #include main () {int i,j;

int e=0,b=0,c=0,d=0; char a[100];

printf(\请输入一列字符串:\\n\for(i=0;i<100;i++) {a[i]=getchar();

if(a[i]=='\\n')break;} for(j=0;j

{if((a[j]>=65&&a[j]<=88)||(a[j]>=97&&a[j]<=122)) e++; else if(a[j]>=48&&a[j]<=57) c++; else if(a[j]==' ') b++; else d++; }

printf(\该行字符串中空格个数为:%d\\n\printf(\该行字符串中数字个数为:%d\\n\

printf(\该行字符串中英文字母个数为:%d\\n\printf(\该行字符串中其他字符个数为:%d\\n\}

29. 输入十个数,将其排序 #include main()

{int a[100],i,j,t,n; printf(\请输入n:\scanf(\

printf(\请输入这%d个数:\for(i=0;i

{scanf(\for(i=0;i

{if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} }}

printf(\则这%d个数按照从小到大的顺序排列为:\\n\for(i=0;i

{printf(\}