经典c语言例题.docx
《经典c语言例题.docx》由会员分享,可在线阅读,更多相关《经典c语言例题.docx(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 .输入两个正整数,m和n,求其最大公约数和最小公倍数。#include void main()(int hcf(inljnt);/*函数声明int lcd(intjnt.int);/*函数声明*/int u,v,h J;printf(Please input two numbers:nH);scanf(%d,%dn,&u,&v);h=hcf(u,v);printf(H.C.F=%dn;h);l=lcd(u,v,h);printf(L.C.D=%dnMJ);int hcf(int uJnt v)iniif(vu)(t=u;u=v;v=t;while(r=u%v)!=O)u=v;v=r;)re
2、turn(v);1int lcd(int u,int vjnt h)(return(u*v/h);)2 .输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。#includeint letteredigit,space,others;void main()void count(char);char text8O;printf(Please input string:nM);gets(text);printfCtringAn);puts(text);letter=O;digit=O;space=O;others=0;count(text);printf(letter:%d.digit:
3、%d,space:%d,others:%dn rJetter,digit,space,others);)void count(char str)int i;for(i=0;stri!=0;i+)if(stri=a,&stri=A&stri=0&stri=,9,)digit+;else if(stri=32)space+;elseothers+;(3 .输入一个正整数求出它是几位数;输出原数和位数。#includeint digit;void main()(void count(char);char text(8O;printf(Please input numbers:nH);gets(tex
4、t);printf(Numbers :n);puts(text);digit=O;count(text);printf(Mdigit:%dnM,digit);)void count(char str|)(int i;for(i=0;stri!=0,;i+)if(stri=0,&stri=,9,)digit+;)4 .输入个正整数,输出原数并逆序打印出各位数字。#includevoid invertLongInt( long);void main() unsigned long iNumber; printffPlease input a numbcr:n);scanf(%ki”,&iNumbe
5、r);printf(The input number is:%ldn,iNumber);printf(The inverse number is:);invertLonglnt(iNumber);void in vert Longlnt( long x)if(x=0&x=9)printf(%dn,x);else(printf(%d,x%10);invertLong!nt(x/10);)(5 .从键盘上输入若干学生的门课成绩,统计并输出最高成绩和最低成绩及相应的序号,当输入负数时结束输入。6 .从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入.将结果输出。7 .求1!+2!+
6、3!+20.将结果输出。#includevoid main()(float s=O,t=l;int n;for(n=1;n=20;n+)(t=t*n;s=s+t;)printf( l!+2!+3!+20!=%en,s);)8 .打印以下图案:*#includevoid main()(int ij;printf(Thc picture is:n);static char picture47=r V V*1), for(i=0;i=3;i+) for(j=0;j=6;j+)printf(%cH,picturei|j);printf(nH);)9 .打印以卜图案:*#includevoid main
7、()(int ij;printf(The picture is:n);char picture44= I*1),for(i=0;i=3;i+)(for(j=0;j=3;j+)printf(M%cM,pictureij);printf(nw);)10 .求下列试子的值:1-1/2+1/3-1/4+1/99-1/100,将结果输出。#includevoid main()(float sum=1.0,t,s=l;int i;for(i=l;i=100;i+)(t=s/i;sum=sum+t;s=-s;)printf(l -1/2+1/3-1/4+ l/99-l/100=%5.4An,sum);)IL
8、打印出100999之间的所有水仙花数。#includevoid main()(ini ij,k,n;printf(100-999之间的所有水仙花数are:n);for(n=100;n10(X);n-H-) 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 由键盘输入。#includevoid main()(int a,n,i=l,sn=O,tn=O;printf(a,n=:M);scanf(d,%d”,&a,&n);while(i=
9、n)tn=tn+a;sn=sn+(n;a=a*10;+i;)printf(a+aa4-aaa+.+aa.a=%dnsn);113 .打印以下图案:*#includevoid main()int ij,k;char space=*printf(The picture is:);for(i=0;i4;i+)printf(nH);primf();for(j=l;j=i;j+)printf(%cH,space);for(k=0;k7;k+) printf(%c;ak);)printfCXn1);)14 .打印以卜图案:112112321123432115 .打印以下图案:123432112321121
10、116 .编写一个统计学生成绩程序,完成以下功能:输入4个学生的2门课成绩;求出全班的总平均分,将结果输出。#include#define N 4struct studentIchar num3;char name4;float score2;float avr;1stu|N|;void main()(int ij;float sum,average;for(i=0:iN;i+)/*输入数据*/(printf( input scores of student%d:n,i+l);printf(namc:);scanf(%s*,stu i.name);for(j=0;j2;j+)printfC,s
11、core %d:,j+l);scanf(H%r,&stui.score|j );) average=O;/*计算*/ for(i=0;iN;i+)sum=O;for(j=0;j2;j+)sum+=stui,score|j;stui.avr=sum/2;a verage+=st u i . av r;1average/=N;printf( Name score 1 score2 averagen);for(i=0;iN;i+)(printf(%5s%10s,stui.num,stui.name);for(j=0;j2;j+)printf(%9.2fstui.scorej);prlntfC%&2f
12、n%tui.avr);Ip rin tf( a vera ge=%5.2fn a verage);17 .打印以卜图案:*#includevoid main()chara5=咒中产/产;int i,j,k;char space:printf(The picture is:);fbr(i=O;i5;i+)(printf(ntr);printf( H);for(j=l;j=i;j+)printf(%c,space);for(k=0;k5;k+) printf(%c,ak);)printf(n,r);18 .给出年、月、日,计算该日是该年的第几天。#includevoid main()int sum
13、_day(intjnt);int leap(int year);int year,month,day ,days;printfC* input date(year,month,day):*);scanf(*%d,%d,%dn,&year,&month,&day);printf(%d/%d/%d,year,month,day);day s=sum_day (month .day);if(leap(year)&month=3)days=days+l;printf(is the %dth day in this year.n,days);Iint sum_day(int monthjnt day)(
14、int day_tabl 3=0,31,28,31,30,31,30,31,31,30,31,30,31);int i;for(i=l ;imonth;i+)day+=day_tabi;return (day);Iint leap(int year)(int leap;leap=year%4=0&year%100!=0llyear%400=0;return(leap);119 .求个3*3的整型矩阵对角线元素之和。将原矩阵和求出的和输出。#includevoid main()(float a33,sum=0;int ij;printff请输入元素:n);for(i=0;i3;i+)for(j=
15、0;j3;j+)scanfC%f;&aij);for(i=0;i3;i+)sum=sum+a|i|i;printf(对角线之和是:%6.2AnM,sum);for(i=0;i=3;i+)(for(j=0;j=3;j+)printf(%5.2f;aij);printf(nH);20 .求一个4*3的矩阵各行元素的平均值:将原矩阵和求出的平均值全部输出。#include void main()(inta43,s4,i,j,k;for(i=0;iv4;i+) for(j=0;j3;j+) scanf(”%d”,*(a+i)+j);for(i=0;i4;i+)(k=0;for(j=0;j3;j+)k+
16、=aiU;printf(第d行的平均值是d”,i+l,k);printf(nH);II21 .求一个3*4的矩阵各列元素的平均值:将原矩阵和求出的平均值全部输出。#includevoid main()(inta43,s4,i,j,k;for(i=();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+=aiU;printf(第d行的平均值是d”,i+l,k);printfCXn1);22 .求个3*5的矩阵各列元素的最大值,将原矩阵和求出的最大值全部输出。#include void main
17、() ini a35,s3,i,j,k;for(i=0;i3;i+)for(j=0;j5;j+)scanf(1,%d,1,*(a+i)+j);for(i=0;i3;i+)*(s+i)=*(*(a+j);for(j=l;j5;j+)if(*(s+i)*(*(a+i)+j)*(s+i)=*(*(a+i)+j);)for(i=0;i3;i+)(printf(Line=%d Max=%dj,sj);printf(nH);)23 .求一个4*3的矩阵各行元素的最大值,将原矩阵和求出的最大值全部输出。#includevoid main()inta43Ls4j,j,k;for(i=0;i4;i+)for(j
18、=0;j3;j+) scanfC%d,*(a+i)+j);for(i=();i4;i+)*(s+i)=*(*(a+i);for(j=l;j3;j+) if(*(s+i)*(*(a+i)+j)*(s+i)=*(*(a+i)+j);)for(i=0;i4;i+)(printf(Row=%d Max=%d,i,si);printf(Hn,r);(24 .求个M*N的矩阵中元素的最大值,将原矩阵和求出的最大值全部输出。#include#define N 10#define M 10void main()int a,max,m,n;scanf(M%d %d,&m,&n);fbr(i=O;imu+)for
19、(j=0;jn;j+)scanf(%d”,*(a+i)4j);for(i=0;im;i+)(for(j=0;jn-l;j+)(if(ai(j=aij+l)max=ai|j+l ;elsemax=ai|j;(ki=max;for(i=0;im-1;i+)(if(k|il=ki+l|)max=ki+l ;elsemax=ki;1printf(%d,max);25 .判断一个N*N的矩阵是否为对称矩阵,将原矩阵输出,判断结果输出。#include#define N 10void main()(inta|NNUj,k,n;scanf(H%d;&n);for(i=0;in;i+)for(j=0;jn;j
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 经典 语言 例题
限制150内