C语言题目.docx
- 文档编号:4453565
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:10
- 大小:24.87KB
C语言题目.docx
《C语言题目.docx》由会员分享,可在线阅读,更多相关《C语言题目.docx(10页珍藏版)》请在冰豆网上搜索。
C语言题目
1.输入两个正整数,m和n,求其最大公约数和最小公倍数。
#include
\n");scanf("%d,%d",&u,&v);h=hcf(u,v);printf("H.C.F=%d\n",h);l=lcd(u,v,h);printf("L.C.D=%d\n",l);}inthcf(intu,intv){intt,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!
=0){u=v;v=r;}return(v);}intlcd(intu,intv,inth){return(u*v/h);}
2.输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。
#include
\n");gets(text);printf("string:
\n");puts(text);letter=0;digit=0;space=0;others=0;count(text);printf("letter:
%d,digit:
%d,space:
%d,others:
%d\n",letter,digit,space,others);}voidcount(charstr[]){inti;for(i=0;str!
='\0';i++)if((str>='a'&&str<='z')||(str>='A'&&str<='Z'))letter++;elseif(str>='0'&&str<='9')digit++;elseif(str==32)space++;elseothers++;}
3.输入一个正整数求出它是几位数;输出原数和位数。
#include
\n");gets(text);printf("Numbers:
\n");puts(text);digit=0;count(text);printf("digit:
%d\n",digit);}voidcount(charstr[]){inti;for(i=0;str!
='\0';i++)if(str>='0'&&str<='9')digit++;}
4.输入一个正整数,输出原数并逆序打印出各位数字。
#include
\n");scanf("%ld",&iNumber);printf("Theinputnumberis:
%ld\n",iNumber);printf("Theinversenumberis:
");invertLongInt(iNumber);}voidinvertLongInt(longx){if(x>=0&&x<=9)printf("%d\n",x);else{printf("%d",x%10);invertLongInt(x/10);}}
5.从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩及相应的序号,当输入负数时结束输入。
6.从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入。
将结果输出。
7.求1!
+2!
+3!
+……+20!
,将结果输出。
#include
+2!
+3!
+……+20!
=%e\n",s);}
8.打印以下图案:
***************#include
\n");staticcharpicture[4][7]={{'','','','*'},{'','','*','*','*'},{'','*','*','*','*','*'},{'*','*','*','*','*','*','*'}};for(i=0;i<=3;i++){for(j=0;j<=6;j++)printf("%c",picture[j]);printf("\n");}}
9.打印以下图案:
**********#include
\n");charpicture[4][4]={{'*'},{'*','*'},{'*','*','*'},{'*','*','*','*'}};for(i=0;i<=3;i++){for(j=0;j<=3;j++)printf("%c",picture[j]);printf("\n");}}
10.求下列试子的值:
1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。
#include
11.打印出100~999之间的所有水仙花数。
#include
\n");for(n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if(n==i*i*i+j*j*j+k*k*k)printf("%d",n);}printf("\n");}
12.求Sn=a+aa+aaa+…+aa…a之值,n,a由键盘输入。
#include
");scanf("%d,%d",&a,&n);while(i<=n){tn=tn+a;sn=sn+tn;a=a*10;++i;}printf("a+aa+aaa+…+aa…a=%d\n",sn);}
13.打印以下图案:
****************************#include
");for(i=0;i<4;i++){printf("\n");printf("");for(j=1;j<=i;j++)printf("%c",space);for(k=0;k<7;k++)printf("%c",a[k]);}printf("\n");}
14.打印以下图案:
1121123211234321
15.打印以下图案:
1234321123211211
16.编写一个统计学生成绩程序,完成以下功能:
输入4个学生的2门课成绩;求出全班的总平均分,将结果输出。
#include
voidmain(){inti,j;floatsum,average;for(i=0;i \n",i+1);printf("name: ");scanf("%s",stu.name);for(j=0;j<2;j++){printf("score%d: ",j+1);scanf("%f",&stu.score[j]);}} average=0;/*计算*/for(i=0;i 17.打印以下图案: *************************#include ");for(i=0;i<5;i++){printf("\n");printf("");for(j=1;j<=i;j++)printf("%c",space);for(k=0;k<5;k++)printf("%c",a[k]);}printf("\n");} 18.给出年、月、日,计算该日是该年的第几天。 #include ");scanf("%d,%d,%d",&year,&month,&day);printf("%d/%d/%d",year,month,day);days=sum_day(month,day);if(leap(year)&&month>=3)days=days+1;printf("isthe%dthdayinthisyear.\n",days);}intsum_day(intmonth,intday){intday_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};inti;for(i=1;i =0||year%400==0;return(leap);} 19.求一个3*3的整型矩阵对角线元素之和。 将原矩阵和求出的和输出。 #include \n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%f",&a[j]);for(i=0;i<3;i++)sum=sum+a;printf("对角线之和是: %6.2f\n",sum);for(i=0;i<=3;i++){for(j=0;j<=3;j++)printf("%5.2f",a[j]);printf("\n");}} 20.求一个4*3的矩阵各行元素的平均值;将原矩阵和求出的平均值全部输出。 #include for(i=0;i<4;i++){k=0;for(j=0;j<3;j++)k+=a[j];printf("第%d行的平均值是%d",i+1,k);printf("\n");}} 21.求一个3*4的矩阵各列元素的平均值;将原矩阵和求出的平均值全部输出。 #include for(i=0;i<4;i++){k=0;for(j=0;j<3;j++)k+=a[j];printf("第%d行的平均值是%d",i+1,k);printf("\n");}} 22.求一个3*5的矩阵各列元素的最大值,将原矩阵和求出的最大值全部输出。 #include for(i=0;i<3;i++){*(s+i)=*(*(a+j));for(j=1;j<5;j++)if(*(s+i)<*(*(a+i)+j))*(s+i)=*(*(a+i)+j);} for(i=0;i<3;i++){printf("Line=%dMax=%d",j,s[j]);printf("\n");}} 23.求一个4*3的矩阵各行元素的最大值,将原矩阵和求出的最大值全部输出。 #include for(i=0;i<4;i++){*(s+i)=*(*(a+i));for(j=1;j<3;j++)if(*(s+i)<*(*(a+i)+j))*(s+i)=*(*(a+i)+j);} for(i=0;i<4;i++){printf("Row=%dMax=%d",i,s);printf("\n");}} 24.求一个M*N的矩阵中元素的最大值,将原矩阵和求出的最大值全部输出。 #include 25.判断一个N*N的矩阵是否为对称矩阵,将原矩阵输出,判断结果输出。 #include 26.有一篇文章,有三行文字,每行有80个字符。 要求统计出其中英文大写字母、消协字母、数字、空格以及其他字符的个数。 #include \n",i+1);gets(text);for(j=0;j<80&&text[j]! ='\0';j++){if(text[j]>='A'&&text[j]<='Z')big++;elseif(text[j]>='a'&&text[j]<='z')sma++;elseif(text[j]>='0'&&text[j]<='9')num++;elseif(text[j]=='')spa++;elseoth++;}}printf("大写字母: %d\n",big);printf("小写字母: %d\n",sma);printf("数字: %d\n",num);printf("空格: %d\n",spa);printf("其它: %d\n",oth);} 27.将20个整数放到一维数组中,输出该数组的最大值和最小值。 #include \n");for(i=1;i<=20;i++){printf("a[%d]=",i);scanf("%d",&a);}for(i=1;i<=19;i++){min=i;for(j=2;j<=19;j++)if(a[min]>a[j]);a[min]=a[j];}for(i=1;i<=19;i++){max=i;for(j=2;j<=19;j++)if(a[max] %d\n",a[max]);printf("最小数为: %d\n",a[min]);} 28.将15个整数放到一维数组中,输出该数组中的最大值它的下标,然后将它和数组中的最前面的元素对换。 #include
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 题目