常用的c语言程序.docx
《常用的c语言程序.docx》由会员分享,可在线阅读,更多相关《常用的c语言程序.docx(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【转】H3道C语言题目,超经典的ZZ转载自:张雷雷转载于:2011-11-1523:221分类:个人日记阅读:(11)评论:(0)1 .输入两个正整数,m和n,求其最大公约数和最小公倍数。#includevoid main()int hcf (int, int);/*函数声明*/int led(int, int, int);/*函数声明*/int u, v, h,1;printf (Please input two numbers:nz/);scanf (%d,%d,&u,&v);h=hcf (u, v);printf (*H. C. F=%dn”, h);l=lcd(u, v, h);pri
2、ntf(L. C. D=%dn”,1);int hcf(int u, int v)int t, r;if(vu)t=u;u=v;v=t;while(r=u%v)!=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 input string:n*);gets (tex
3、t);printf(string:n);puts (text);letter=0;digit=0;space=0;others=0;count(text);printf (letter:%d, digit :%d, space:%d, others:%dnz, 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+;else others+;)3 .输入一个正整
4、数求出它是几位数;输出原数和位数。#includeint digit;void main()void count(chart);char text80;printf(/zPlease input numbers:);gets(text);printf(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=0J &stri=9) digit+;)4 .输入一个正整数,输出原数并逆序打印出各位数字。#inc
5、ludevoid invertLonglnt(long);void main()(unsigned long iNumber;printf (Z/Please input a number:n,z);scanf&iNumber);printf(The input number is:%ldn*,iNumber);printf(/zThe inverse number is:); invertLonglnt(iNumber);void invertLonglnt(long x)if(x=0&x=9)printf(%dn”,x);else(printf x%10);invertLonglnt(x/
6、10);5 .从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩及相应的序号,当输入负数时结束输入。6 .从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入。将结果输出。7 .求1!+2!+3!+20!,将结果输出。#includevoid main()(float s=0, t=l;int n;for(n=l;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 p
7、icture47=for(i=0;i=3;i+)for(j=0;j=6;j+)printfpictureij);printf(n);)9 .打印以下图案:*#includevoid main()int i, j;printf(*The picture is:n);char picture44=,*,for(i=0;i=3;i+)for(j=0;j=3;j+)printfpictureij); printf(n);10 .求下列试子的值:1T/2+1/3-1/4+1/99-1/100,将结果输出。#includevoid main()(float sum=l.0, t, s=l;int i;fo
8、r(i=l;i=100;i+)t=s/i;sum=sum+t;s=s;printf (“1T/2+1/3T/4+l/99-l/100=%5.4fn”, sum);11 .打印出100999之间的所有水仙花数。#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 C%d ,n);12 .求 Sn=a+aa+aaa+-+aa- a 之值,n, a 由键盘输入。#incl
9、udevoid main()int a, n, i=l, 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 .打印以下图案:#includevoid main()char a7=,X X *,;int i, j, k;char space=;printf(The picture is:);for (i=0;i4;i+)printf(n);printf();for(j=l;j=i;j+)prin
10、tfspace);for(k=0;k7;k+)printf(*%c*, ak);printf(n);)14 .打印以下图案:112112321123432115 .打印以下图案:123432112321121116 .编写一个统计学生成绩程序,完成以下功能:输入4个学生的2门课成绩;求出全班的总平均分,将结果输出。#include#define N 4 struct student ( char num3; char name4; float score2; float avr; stuN;void main()(int i, j;float sum, average;for(i=0; iN;
11、 i+)/*输入数据*/(printf(* input scores of student%d:n*, i+1); printf(name:);scanfstui. name);for(j=0;j2;j+)(printf(*score %d:, j+1); scanf&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 score 1 score2 averagen
12、z/);for(i=0;iN;i+)|printf (%s%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 .打印以下图案:#includevoid main()(char a5=,int i, j, k;char space=;printf(The picture is:);for(i=0;i5;i+)(printf(n);printf(*);for(j=l;j=i;
13、j+)printfspace);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 C input date (year, month, day):z/);scanf (%d,%d,%d”,&year,&month,&day);printf (%d/%d/%d”, year, month, day);days=sum day(mont
14、h, day);if(1eap(year)&mon th=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=l;imonth;i+) day+=day_tabi;return(day);int leap(int year)(int leap;1eap=year%4=0&year%100!=0|Iyear%400=0;return(lea
15、p);)19 .求一个3*3的整型矩阵对角线元素之和。将原矩阵和求出的和输出。#includevoid main()float a33, sum=0;int i,j;printf (请输入元素:n);for (i=0; i3; i-H-)for(j=0;j3;j+)scanf&aij);for(i=0;i3;i-H-)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的矩阵各行元素的平均值;将原矩阵和求出的平均值全部输出。
16、#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的矩阵各列元素的平均值;将原矩阵和求出的平均值全部输出。#includevoid main()int a43, s4, i, j, k;for(i=0;i4;i+)for(j=0;j3;j+)scanf (线d,*(a+i)+ j);
17、for(i=0;i4;i+)(k=0;for(j=0;j3;j+)k+=aij;printf (第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=l;j5;j+)if(*(s+i)*(*(a+i)+j)*(s+i)=*(*(a+i)+j);for(i=0;i3;i+
18、)(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=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);print
19、f (n);24.求一个M*N的矩阵中元素的最大值,将原矩阵和求出的最大值全部输出。#includedefine N 10define M 10 void 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-l;j+)if(aij=aij+1)max=aij+1;elsemax=aij;ki=max;)for(i=0;im-l;i+)if(ki=ki+l)max=ki+l;elsemax=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常用 语言 程序
限制150内