C语言习题113题

上传人:缘*** 文档编号:333289731 上传时间:2022-09-01 格式:PDF 页数:65 大小:3.84MB
返回 下载 相关 举报
C语言习题113题_第1页
第1页 / 共65页
C语言习题113题_第2页
第2页 / 共65页
C语言习题113题_第3页
第3页 / 共65页
C语言习题113题_第4页
第4页 / 共65页
C语言习题113题_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《C语言习题113题》由会员分享,可在线阅读,更多相关《C语言习题113题(65页珍藏版)》请在金锄头文库上搜索。

1、1.输入两个正整数,m 和 n,求其最大公约数和最小公倍数。#includevoid main()(int hcf(intjnt);/*函数声明*/int lcd(int,int,int);/*函数声明*/int u,v,h,l;printf(Please i n p u t two numbers:n);scanf(H%d,%d,&u,&v);h=hcf(u,v);printf(nH.C.F=%dnn,h);l=lcd(u,v,h);printf(LC.D=%dn,l);)int hcf(int u,int v)(int t,r;if(vu)t=u;u=v;v=t;while(r=u%v)(

2、=0)u=v;v=r;return(v);)int lcd(int u,int v,int h)(return(u*v/h);)2.输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。#includeint letter,digit,space,others;void main()(void count(char);char text80;printf(Please i n p u t string:nn);gets(text);printf(string:n);puts(text);letter=O;digit=O;space=0;others=0;count(text);prin

3、tf(Hletter:%d,digit:%d,space:%d,others:%dnn,letter,digit,space,others);)void count(char str)(int i;for(i=0;stri!=0,;i+)if(stri=a&stri=A&stri=0&stri=9,)digits+;else if(stri=32)spacer+;elseothers+;)3.输入一个正整数求出它是几位数;输出原数和位数。#includeint digit;void main()(void count(char);char text80;printf(MPlease i n p

4、 u t numbers:);gets(text);printf(Numbers:n);puts(text);digit=O;count(text);printf(digit:%dnn,digit);)void count(char str)(int i;for(i=0;stri!=0;i+)if(stri=0&stri=9)digit+;)4.输入一个正整数,输出原数并逆序打印出各位数字。#includevoid invertLonglnt(long);void main()(unsigned long iNumber;printf(nPlease i n p u t a number:nf

5、);scanf(ld”,&iNumbeij;printf(MThe i n p u t number is:%ldnM,iNumber);printf(MThe inverse number is:n);invertLonglnt(iNumber);)void invertLonglnt(long x)(if(x=0&x=9)printf(dn”,x);else(printf(%d,x%10);invertLonglnt(x/10);)5.从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩及相应的序号,当输入负数时结束输入。6.从键盘上输入若干学生的一门课成绩,计算出平均分,当输入

6、负数时结束输入。将结果输出。7.求1!+2!+3!+2 0!,将结果输出。#includevoid main()float s=O,t=1;int n;for(n=1;n=20;n+)(t=t*n;s=s+t;)printf(1!+2!+3!+.+20!=%en,s);)8.打印以下图案:*#includevoid main()(int i,j;printf(The picture is:n);static char picture47=i f i i t*i i i*fi r i t*i *i i*t*i i*IT r i*i *i i*1*1 *i*i i*r,),(,for(i=0;i=

7、3;i+)(for(j=0;j=6;j+)printf(%c,pictureij);printf(n);)9.打印以下图案:#includevoid main()int i,j;printf(The picture is:n);char picture44=*,I I*1 I*I!*!I*I*f I*t I*J *for(i=0;i=3;i+)(for(j=0;j=3;j+)printf(H%cn,pictureij);printf(MnH);)10.求下列试子的值:1-1/2+1/3-1/4+1/99-1/100,将结果输出。#includevoid main()(float sum=1.0

8、,t,s=1;int i;for(i=1;i=100;i+)(t=s/i;sum=sum+t;s=-s;)printf(H1-1/2+1/3-1/4+1/99-1/100=%5.4f nH,sum);)11.打印出100999之间的所有水仙花数。#includevoid main()(int i,j,k,n;printf(100999之间的所有水仙花数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(,nn);)12.求 Sn=a+aa+aaa+.

9、+aa.a之值,n,a 由键盘输入。#includevoid main()(int a,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=%dn,sn);)13.打印以下图案:#includevoid main()(char a7=*,int i,j,k;char space=printf(The picture is:);for(i=0;i4;i+)printf(n);printf(H);for(j=1;j=i;j+)pr

10、intf(H%c,space);for(k=0;k7;k+)printf(c”,ak);)printf(nn);)14.打印以下图案:112112321123432115.打印以下图案:123432112321121116.编写一个统计学生成绩程序,完成以下功能:输入4个学生的2门课成绩;求出全班的总平均分,将结果输出。#include#define N 4struct student(char num3;char name4;float score2;float avr;)stuN;void main()(int i,j;float sum,average;for(i=0;iN;i+)/*输

11、入数据Nprintf(M i n p u t scores of student%d:n,i+1);printf(Hname:n);scanf(n%sH,stui.name);for(j=0;j2;j+)(printf(Mscore%d:,j+1);scanf(n%f,&stui.scorej);)average=0;for(i=0;iN;i+)(sum=0;for(j=0;j2;j+)sum+=stui.scorej;stui.avr=sum/2;average+=stui.avr;)average/=N;printf(Name scorel score2 average)for(i=0;i

12、N;i+)(printf(,%5s%10s,stui.num,stui.name);for(j=0;j2;j+)printf(H%9.2f,stui.scorej);printf(%8.2fnH,stui.avr);)printf(average=%5.2fn,average);)17.打印以下图案:#includevoid main()char a5=int i,j,k;char spaceprintf(MThe picture is:);for(i=0;i5;i+)(printf(n”);printf(n);for(j=1;j=i;j+)printf(%cn,space);for(k=0;

13、k5;k+)printf(%cH,ak);)printf(Hn);)18.给出年、月、日,计算该日是该年的第几大。#includevoid main()(int sum_day(int,int);int leap(int year);int year,month,day,days;printf(i n p u t date(year,month,day):*);scanf(d,%d,%cT,&year,&month,&day);printf(,%d/%d/%d,year,month,day);days=sum_day(month,day);if(leap(year)&month=3)days=

14、days+1;printf(is the%dth day in this year.n,days);)int sum_day(int month,int day)int day_tab13=0,31,28,31,30,31,30,31,31,30,31,30,31);int i;for(i=1;imonth;i+)day+=day_tabi;return(day);)int leap(int year)(int leap;leap=year%4=0&year%100!=0|year%400=0;return(leap);)19.求一个3*3的整型矩阵对角线元素之和。将原矩阵和求出的和输出。#i

15、ncludevoid main()(float a33,sum=0;int i,j;printf(请输入元素:n);for(i=0;i3;i+)for(j=0;j3;j+)scanf(%f,&aij);for(i=0;i3;i+)sum=sum+aii;printf(对角线之和是:%6.2fn,sum);for(i=0;i=3;i+)(for(j=0;j=3;j+)printf(%5.2f,aij);printf(n);)20.求一个4*3的矩阵各行元素的平均值;将原矩阵和求出的平均值全部输出。#includevoid main()int a43,s4,i,j,k;for(i=0;i4;i+)

16、for(j=0;j3;j+)scanf(%d,*(a+i)+j);for(i=0;i4;i+)(k=0;for(j=0;j3;j+)k+=aij;printf(第d 行的平均值是d,i+1 ,k);printf(n);)21.求个3*4的矩阵各列元素的平均值:将原矩阵和求出的平均值全部输出。#includevoid main()(int a43,s4,i,j,k;for(i=0;i4;i+)for(j=0;j3;j+)scanf(%d,*(a+i)+j);for(i=0;i4;i+)(k=0;for(j=0;j3;j+)k+=aij;printf(第d 行的平均值是%d,i+1,k);printf(n);)22.求一个3*5的矩阵各列元素的最大值,将原矩阵和求出的最大值全部输出。#includevoid main()int a35,s3,i,j,k;for(i=0;i3;i+)for(j=0;j5;j+)scanf(%d,*(a+i)+j);for(i=0;i3;i+)*(s+i)=*(*(a+j);for(j=1;j5;j+)讦(*(s+i)*(*(a+i)+j)*(s+i)=*(*

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号