C语言题目.docx

上传人:b****4 文档编号:4453565 上传时间:2022-12-01 格式:DOCX 页数:10 大小:24.87KB
下载 相关 举报
C语言题目.docx_第1页
第1页 / 共10页
C语言题目.docx_第2页
第2页 / 共10页
C语言题目.docx_第3页
第3页 / 共10页
C语言题目.docx_第4页
第4页 / 共10页
C语言题目.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

C语言题目.docx

《C语言题目.docx》由会员分享,可在线阅读,更多相关《C语言题目.docx(10页珍藏版)》请在冰豆网上搜索。

C语言题目.docx

C语言题目

1.输入两个正整数,m和n,求其最大公约数和最小公倍数。

#includevoidmain(){inthcf(int,int);/*函数声明*/intlcd(int,int,int);/*函数声明*/intu,v,h,l;printf("Pleaseinputtwonumbers:

\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.输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。

#includeintletter,digit,space,others;voidmain(){voidcount(char[]);chartext[80];printf("Pleaseinputstring:

\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.输入一个正整数求出它是几位数;输出原数和位数。

#includeintdigit;voidmain(){voidcount(char[]);chartext[80];printf("Pleaseinputnumbers:

\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.输入一个正整数,输出原数并逆序打印出各位数字。

#includevoidinvertLongInt(long);voidmain(){unsignedlongiNumber;printf("Pleaseinputanumber:

\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!

,将结果输出。

#includevoidmain(){floats=0,t=1;intn;for(n=1;n<=20;n++){t=t*n;s=s+t;}printf("1!

+2!

+3!

+……+20!

=%e\n",s);}

8.打印以下图案:

***************#includevoidmain(){inti,j;printf("Thepictureis:

\n");staticcharpicture[4][7]={{'','','','*'},{'','','*','*','*'},{'','*','*','*','*','*'},{'*','*','*','*','*','*','*'}};for(i=0;i<=3;i++){for(j=0;j<=6;j++)printf("%c",picture[j]);printf("\n");}}

9.打印以下图案:

**********#includevoidmain(){inti,j;printf("Thepictureis:

\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,将结果输出。

#includevoidmain(){floatsum=1.0,t,s=1;inti;for(i=1;i<=100;i++){t=s/i;sum=sum+t;s=-s;}printf("1-1/2+1/3-1/4+……+1/99-1/100=%5.4f\n",sum);}

11.打印出100~999之间的所有水仙花数。

#includevoidmain(){inti,j,k,n;printf("100~999之间的所有水仙花数are:

\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由键盘输入。

#includevoidmain(){inta,n,i=1,sn=0,tn=0;printf("a,n=:

");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.打印以下图案:

****************************#includevoidmain(){chara[7]={'*','*','*','*','*','*','*'};inti,j,k;charspace='';printf("Thepictureis:

");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#defineN4structstudent{charnum[3];charname[4];floatscore[2];floatavr;}stu[N];

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.打印以下图案:

*************************#includevoidmain(){chara[5]={'*','*','*','*','*'};inti,j,k;charspace='';printf("Thepictureis:

");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.给出年、月、日,计算该日是该年的第几天。

#includevoidmain(){intsum_day(int,int);intleap(intyear);intyear,month,day,days;printf("inputdate(year,month,day):

");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的整型矩阵对角线元素之和。

将原矩阵和求出的和输出。

#includevoidmain(){floata[3][3],sum=0;inti,j;printf("请输入元素:

\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的矩阵各行元素的平均值;将原矩阵和求出的平均值全部输出。

#includevoidmain(){inta[4][3],s[4],i,j,k;for(i=0;i<4;i++)for(j=0;j<3;j++)scanf("%d",*(a+i)+j);

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的矩阵各列元素的平均值;将原矩阵和求出的平均值全部输出。

#includevoidmain(){inta[4][3],s[4],i,j,k;for(i=0;i<4;i++)for(j=0;j<3;j++)scanf("%d",*(a+i)+j);

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的矩阵各列元素的最大值,将原矩阵和求出的最大值全部输出。

#includevoidmain(){inta[3][5],s[3],i,j,k;for(i=0;i<3;i++)for(j=0;j<5;j++)scanf("%d",*(a+i)+j);

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的矩阵各行元素的最大值,将原矩阵和求出的最大值全部输出。

#includevoidmain(){inta[4][3],s[4],i,j,k;for(i=0;i<4;i++)for(j=0;j<3;j++)scanf("%d",*(a+i)+j);

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#defineN10#defineM10voidmain(){inta[N],i,j,k,max,m,n;scanf("%d%d",&m,&n);for(i=0;i

25.判断一个N*N的矩阵是否为对称矩阵,将原矩阵输出,判断结果输出。

#include#defineN10voidmain(){inta[N][N],i,j,k,n;scanf("%d",&n);for(i=0;i

26.有一篇文章,有三行文字,每行有80个字符。

要求统计出其中英文大写字母、消协字母、数字、空格以及其他字符的个数。

#includevoidmain(){inti,j,big=0,sma=0,num=0,spa=0,oth=0;chartext[3][80];for(i=0;i<3;i++){printf("请输入行%d:

\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个整数放到一维数组中,输出该数组的最大值和最小值。

#includevoidmain(){inti,j,min,max,a[21];printf("请输入数据:

\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个整数放到一维数组中,输出该数组中的最大值它的下标,然后将它和数组中的最前面的元素对换。

#includevoidmain(){inti,j,min,max,a[16],m,n;printf("请输入数据:

\n");for(i=1;i<=15;i++){printf("a[%d]=",i);scanf("%d",&a);}for(i=1;i<=14;i++){max=i;for(j=2;j<=14;j++)if(a[max]

%d,%d\n",m,n);}

29.将字符数组str1种下标为偶数的元素赋给另一字符数组str2,并输出str1和str2。

#include#include#defineN10voidmain(){inti,n;charstr1[N],str2[N];gets(str1);for(n=0;n

30.编写一个程序,将两个字符串连接起来,不要使用strcat函数。

#includevoidmain(){charstr1[20],str2[20];inti=0,j=0;printf("请输入字符串1:

\n");scanf("%s",str1);printf("请输入字符串2:

\n");scanf("%s",str2);while(str1!

='\0')i++;while(str2[j]!

='\0')str1[i++]=str2[j++];str1='\0';printf("合并之后的字符串为:

%s\n",str1);}

31.编写一个程序,将字符数组a中的全部字符复制到字符数组b中。

不要使用strcpy函数。

#include#includevoidmain(){chara[40],b[40];inti;printf("请输入a:

\n");scanf("%s",a);for(i=0;i<=strlen(a);i++)b=a;printf("b:

%s\n",b);}

32.编写一个程序,找出3个字符串中的最大者,将它输出。

#include#includevoidmain(){charstring[20];charstr[3][20];inti;for(i=0;i<3;i++)gets(str);if(strcmp(str[0],str[1])>0)strcpy(string,str[0]);elsestrcpy(string,str[1]);if(strcmp(str[2],string)>0)strcpy(string,str[2]);printf("最大的字符串是:

\n%s\n",string);}

33.编写程序,输入任意一个1~7之间的整数,将他们转换成对应的英文单词。

例如:

1转换成Monday,7转换成Sunday。

#includevoidmain(){inta;printf("输入一个整数:

\n");scanf("%d",&a);if(a==1)printf("Monday\n");elseif(a==2)printf("Tuesday\n");elseif(a==3)printf("Wendesday\n");elseif(a==4)printf("Thursday\n");elseif(a==5)printf("Friday\n");elseif(a==6)printf("Saturday\n");elseif(a==7)printf("Sunday\n");elseprintf("错误\n");}

34.编写程序,输入两

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1