C语言程序设计经典题目大汇总

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1.输入两个正整数,m和n,求其最大公约数和最小公倍数。#includestdio.hvoidmain(){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(vu){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);}3.输入一个正整数求出它是几位数;输出原数和位数。#includestdio.hintdigit;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[i]!='\0';i++)if(str[i]='0'&&str[i]='9')digit++;}2.输入三个整数,输出最大的数。main(){inta,b,c,t;intmax(intx,inty);printf(“pleaseinputthreenumbers:”);scanf(“%d,%d,%d”,&a,&b,&c);t=max(max(a,b),c);printf(“maxnumberis:%d\n”,t);}intmax(intx,inty){intz;if(xy)z=x;elsez=y;return(z);}第二章1.已知三个整型数8,12,6,按公式s=a+b*c计算,并显示结果#includestdio.hmain(){inta,b,c,s;a=8;b=12;c=6;s=a+b*c;printf(“s=%d\n”,s);}4.输入圆的半径,输出元的周长和面积#includestdio.hvoidmain(){floatr,l,s;scanf(“%f”,&r);l=2*3.14159*r;s=3.14159*r*r;printf(“\nl=%8.4f”,l);printf(“\ns=%8.4f’,s);}5.输入三个字符,将它们反向输出#includestdio.h{charch1,ch2,ch3;ch1=getchar();ch2=getchar()l;ch3=getchar();putchar(ch3);putchar(ch2);putchar(ch1);}6.用格式输入函数输入三个字符,并用输出函数反向输出3个字符和它们的ASCII码#includestdio.hvoidmain(){charch1,ch2,ch3;scanf(“%c%c%c”,&ch1,&ch2,&ch3);printf(“%c,%d\n”,ch3,ch3);printf(“%c,%d\n”,ch2,ch2);printf(“%c,%d\n”,ch1,ch1);}7.输入任意三个整数,求它们的平均值。voidmain(){intnum1,num2,num3;floataverage;printf(“Pleaseinputthreenumbers:”);scanf(“%d,%d,%d”,&num1,&num2,&num3);average=(num1+num2+num3)/3.0;printf(“average=%7.2/n”,average);}8.求方程a*x*x+b*x+c=0的实数根#include”math.h”voidmain(){floata,b,c,disc,x1,x2;prinf(“inputa,b,c:”);scanf(“%f,%f,%f”,&a,&b,&c”);disc=b*b-4*a*c;x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);printf(“\nx1=%6.2f\nx2=%6.2f\n”,x1,x2);}9.从键盘输入一个小写字母,用大写形式输出该字母。include”stdio.h”voidmain(){chara;printf(“inputalowercaseletter:”);a=getchar();a=a-32;printf(“%c\n”,a);}11.输入任意一个3位数,将其各位数字反序输出(例如输入123,输出321)。main(){intx,y;printf(Inputanumber(100-999):);scanf(%d,&x);y=100*(x%10)+10*(x/10%10)+x/100;printf(%d---%d\n,x,y);}12.输入任意大小的3个整数,判断其中是否有两个奇数一个偶数。若是则输出YES,不是则输出NOT(要求用条件表达式进行判断,不使用if语句)。main(){intx,y,z,oddcount=0;printf(Inputx,y,z:);scanf(%d,%d,%d,&x,&y,&z);x%2==1?oddcount++:0;y%2==1?oddcount++:0;z%2==1?oddcount++:0;oddcount==2?printf(YES):printf(NOT);}14.输入三角形的边长,求三角形面积(面积=sqrt(s(s-a)(s-b)(s-c)),s=(a+b+c)/2)。#includemath.h/*由于程序中使用了开平方函数sqrt(),所以需要包含数学头檔*/main(){floata,b,c,s,area;intok=0;printf(Inputa,b,c:);scanf(%f,%f,%f,&a,&b,&c);a+bc?ok++:0;/*以下3条语句为判断是否输入的数据是否构成封闭三角形*/a+cb?ok++:0;b+ca?ok++:0;ok==3?(s=(a+b+c)/2,area=sqrt(s*(s-a)*(s-b)*(s-c)),printf(area=%f,area)):printf(error);getch();}1.输入一个数,如果该数大于等于0,则输出它的平方根,如果它小于0,则不做任何处理。#includestdio.h#includemath.hmain(){doublex;scanf(“%lf”,&x);if(x=0)printf(“%10.6lf”,sqrt(x));}2.输入两个数,比较其大小,将较大的数输出。#includestdio.hvoidmain(){floata,b;scanf(“%f,%f”,&a,&b);if(ab)printf(“%f”,a);elseprintf(“%f”,b);}4.根据变量i的值,输出字符。#includestdio.hvoidmain(){inti;printf(“pleaseinputi:”);scanf(“%d”,%i);switch(i){case1:printf(“A/n”);case2:printf(“B/n”);case3:printf(“C/n”);case4:printf(“D/n”);default:printf(“E\n);}}5.根据输入的学生成绩判断等级。当成绩score=90时,为A等;成绩70=score90时,为B等;成绩60=score70时,为C等;成绩score60时,为D等(score为整数)。#includestdio.hvoidmain(){intscore;scanf(“%d”,&score);switch(score/10){case10:case9:printf(“%d:A\n”,score);break;case8:case7:printf(“%d:B\n”,score);break;case6:printf(“%d:C\n”,score);break;default:printf(“%d:D\n”,score);}}6.求方程a*x*x+b*x+c=0的实数解。#includemath.hvoidmain(){floata,b,c,x1,x2,disc;printf(“inputabc:”);scanf(“%f%f”,&a,&b,&c);if(fabs(a)1e-6)printf(“Theequationhasnotrealroot”);elseif(fabs(disc)1e-6)printf(“”Theequationhastwoequalroots:%8.4f”.-b/(2*a));else{x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);printf(“Theequationhasdistinctrealroots:%8.4f”,x1,x2);}}}7.输入年号,判断它是否闰年。#includestdio.hvoidmain(){unsignedintyear,leap;printf(“Enteryear:”);scanf(“%d”,&year);if(year%400==0)leap=1;else{if(year%400==0&&year%100!=0)leap=1;elseleap=0;}if(leap==1)printf(“%d:isaleapyear.”,year);elseprintf(“%disnotaleapyear.”,year);10.输入整数a和b,如果a能被b整除,就输出算式和商,否则输出算式、整数商和余数。main(){inta,b;printf(Inputtwointegernumbersa,b:);scanf(%d,%d,&a,&b);if(b!=0&&a%b==0)printf(%d/%d=%d,a,b,a/b);elseprintf(%d/%d=%d......%d,a,b,a/b,a%b);}12.输入年号和月份,输出这一年该月的天数(一个年份,先判断是否闰年)。main(){inty,m,d,f;printf(Inputyearandmonthy-m:);scanf(%d-%d,&y,&m);f=(y%4==0&&y%100!=0||y%400==0);if(m==2)d=28+f;/*依据是否闰年决定2月份的实际天数,若是闰年,则f=1,d即为29天*/elsed=31-(m==4)-(m==6)-(m==9)-(m==11);/*m==4时其值为1,则本月为30天,典型算法,重要啊*/printf(%d-%dis%ddays.\n,y,m,d);}13.有一函数x-1-5x0y=xx=0x+10x8编写一程序,要求输入x的值,输出y的值。分别用不嵌套的if语句,嵌套的if语句,switch语句编写。答使用不嵌套的if语句程序如下:main(){floatx,y;printf(Inputx:);scanf(%f,&x);if(x-5&&x0)y=x-1;if(x==0)y=0;if(x0&&x8)y=x+1;printf(y=%f\n,y);}使用嵌套的if语句程序如下:main(){floatx,y;scanf(%f,&x);if(x-5&&x8)if(x0)y=x-1;elseif(x==0)y=0:elsey=x+1;printf(y=%f\n,y);}main()floatx,y;scanf(%f,&x);if(x8)if(x0)y=x+1;elseif

1 / 47
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功