C语言经典例题(共55页).doc
《C语言经典例题(共55页).doc》由会员分享,可在线阅读,更多相关《C语言经典例题(共55页).doc(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上赞赞赞1.输入两个正整数,m和n,求其最大公约数和最小公倍数。#includevoid main()int hcf(int,int); /*函数声明*/int lcd(int,int,int); /*函数声明*/int u,v,h,l;printf(Please two numbers:n);scanf(%d,%d,&u,&v);h=hcf(u,v);printf(H.C.F=%dn,h);l=lcd(u,v,h);printf(L.C.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 string:n);gets(text);printf(string:n);puts(text);letter=0;digit=0;space=0;others=0;count(text);printf(letter:%d,
3、digit:%d,space:%d,others:%dn,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)digit+;else if(stri=32)space+;elseothers+;3.输入一个正整数求出它是几位数;输出原数和位数。#includeint digit;void main()void count(char);char text80;printf(Please numbers:n);gets(text);printf(
4、Numbers:n);puts(text);digit=0;count(text);printf(digit:%dn,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;printf(Please a number:n);scanf(%ld,&iNumber);printf(The number is:%ldn,iN
5、umber);printf(The inverse number is:);invertLongInt(iNumber);void invertLongInt(long x)if(x=0&x=9)printf(%dn,x);elseprintf(%d,x%10);invertLongInt(x/10);5.从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩及相应的序号,当输入负数时结束输入。6.从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入。将结果输出。7.求1!+2!+3!+20!,将结果输出。#includevoid main()float s=0,t=1
6、;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= , , ,*, , ,*,*,*, , *,*,*,*,*,*,*,*,*,*,*,*;for(i=0;i=3;i+)for(j=0;j=6;j+)printf(%c,pictureij);printf(n);9.打印以下图案: *#includevoid main()int i,j;printf(Th
7、e picture is:n);char picture44=*,*,*, *,*,*,*,*,*,*;for(i=0;i=3;i+)for(j=0;j=3;j+)printf(%c,pictureij);printf(n);10.求下列试子的值:1-1/2+1/3-1/4+1/99-1/100,将结果输出。#includevoid main()float sum=1.0,t,s=1;int i;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.4fn,sum);11.打印出100999之间的所有水
8、仙花数。#includevoid main()int i,j,k,n;printf(100999之间的所有水仙花数 are:n);for(n=100;n1000;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+aaa之值,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;
9、printf(a+aa+aaa+aaa=%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( );for(j=1;j=i;j+)printf(%c,space);for(k=0;k7;k+)printf(%c,ak);printf(n);14.打印以下图案:11211232115. 打印以下图案:12321121116.编写一个统计学生成绩程序,完成以下功能:输入4个学生的
10、2门课成绩;求出全班的总平均分,将结果输出。#include#define N 4struct studentchar num3;char name4;float score2;float avr;stuN;void main()int i,j;float sum,average;for(i=0;iN;i+) /*输入数据*/printf( scores of student%d:n,i+1);printf(name:);scanf(%s,stui.name);for(j=0;j2;j+)printf(score %d:,j+1);scanf(%f,&stui.scorej);average=
11、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 score1 score2 averagen);for(i=0;iN;i+)printf(%5s%10s,stui.num,stui.name);for(j=0;j2;j+)printf(%9.2f,stui.scorej);printf( %8.2fn,stui.avr);printf(average=%5.2fn,average);17. 打印以下图案:*#i
12、ncludevoid main()char a5=*,*,*,*,*;int i,j,k;char space= ;printf(The picture is:);for(i=0;i5;i+)printf(n);printf( );for(j=1;j=i;j+)printf(%c,space);for(k=0;k5;k+)printf(%c,ak);printf(n);18.给出年、月、日,计算该日是该年的第几天。#includevoid main()int sum_day(int,int);int leap(int year);int year,month,day,days;printf(
13、date(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(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
14、+=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的整型矩阵对角线元素之和。将原矩阵和求出的和输出。#includevoid 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); fo
15、r(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+) 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的矩阵各列元素的平均值;将原矩阵和求出的平均值全部输出。#include
16、void 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)=
17、*(*(a+j); for(j=1;j5;j+) if(*(s+i) *(*(a+i)+j) *(s+i)= *(*(a+i)+j); for(i=0;i3;i+) printf(Line=%d Max=%d,j,sj ); printf(n); 23.求一个4*3的矩阵各行元素的最大值,将原矩阵和求出的最大值全部输出。#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+) *(s+i)= *(*(a+i); for(j=1;j3;j+) if(*
18、(s+i) *(*(a+i)+j) *(s+i)= *(*(a+i)+j); for(i=0;i4;i+) printf(Row=%d Max=%d,i,si ); printf(n); 24.求一个M*N的矩阵中元素的最大值,将原矩阵和求出的最大值全部输出。#include #define N 10#define M 10void main() int aN,i,j,k,max,m,n; scanf(%d %d,&m,&n);for(i=0;im;i+) for(j=0;jn;j+)scanf(%d,*(a+i)+j);for(i=0;im;i+) for(j=0;jn-1;j+)if(ai
19、j=aij+1)max=aij+1;elsemax=aij;ki=max;for(i=0;im-1;i+)if(ki=ki+1)max=ki+1;elsemax=ki;printf(%d,max);25.判断一个N*N的矩阵是否为对称矩阵,将原矩阵输出,判断结果输出。#include #define N 10void main() int aNN,i,j,k,n;scanf(%d,&n);for(i=0;in;i+) for(j=0;jn;j+)scanf(%d,&aij);for(i=0;in;i+) for(j=i+1;jn;j+)if(aij=aji)k=1;elsek=0;if(k=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 经典 例题 55
限制150内