版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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);3.输入一个正整数求出它是几位数;输出原数和位数。#includeint digit;void main() void count(char); char text80; printf(Please numbers:n); gets(text); printf(Numbers:n); puts(text); digit=0; count(text); printf(digit:%dn,digit);void count(char str) int i; for(i=0;
3、stri!=0;i+) if(stri=0&stri=9) digit+;2.输入三个整数,输出最大的数。main()int a,b,c,t; int max(int x,int y);printf(“please input three numbers:”); scanf(“%d,%d,%d”,&a,&b,&c); t=max(max(a,b),c); printf(“max number is:%dn”,t);int max(int x,int y)int z; if(xy)z=x; else z=y; return(z);第二章1已知三个整型数8,12,6,按公式s=a+b*c计算,并显
4、示结果#includemain()int a,b,c,s;a=8;b=12;c=6;s=a+b*c;printf(“s=%dn”,s);4.输入圆的半径,输出元的周长和面积#includevoid main() float r,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.输入三个字符,将它们反向输出#include char ch1,ch2,ch3; ch1=getchar(); ch2=getchar()l; ch3=getchar(); putc
5、har(ch3);putchar(ch2);putchar(ch1);6.用格式输入函数输入三个字符,并用输出函数反向输出3个字符和它们的ASCII码#includevoid main()char ch1,ch2,ch3; scanf(“%c%c%c”,&ch1,&ch2,&ch3); printf(“%c,%dn”,ch3,ch3); printf(“%c,%dn”,ch2,ch2); printf(“%c,%dn”,ch1,ch1);7.输入任意三个整数,求它们的平均值。void main()int num1,num2,num3; float average; printf(“Please
6、 input three numbers:”); 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”void main()float a,b,c,disc,x1,x2; prinf(“input a,b,c:”);scanf(“%f,%f,%f”,&a,&b,&c”);disc=b*b-4*a*c;x1=(-b+sqrt(disc)/(2*a);x2=(-b-sqrt(d
7、isc)/(2*a);printf(“nx1=%6.2fnx2=%6.2fn”,x1,x2);9.从键盘输入一个小写字母,用大写形式输出该字母。include”stdio.h”void main()char a; printf(“input a lowercase letter:”); a=getchar(); a=a-32; printf(“%cn”,a);11.输入任意一个3位数,将其各位数字反序输出(例如输入123,输出321)。main() int x,y; printf(Input a number(100-999):); scanf(%d,&x); y=100*(x%10)+10*
8、(x/10%10)+x/100;printf(%d-%dn,x,y);12.输入任意大小的3个整数,判断其中是否有两个奇数一个偶数。若是则输出YES,不是则输 出NOT(要求用条件表达式进行判断,不使用if语句)。main() int x,y,z,oddcount=0;printf(Input x,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
9、(s(s-a)(s-b)(s-c),s=(a+b+c)/2)。#includemath.h /*由于程序中使用了开平方函数sqrt(),所以需要包含数学头檔*/main() float a,b,c,s,area; int ok=0; printf(Input a,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):
10、printf(error); getch();1.输入一个数,如果该数大于等于0,则输出它的平方根,如果它小于0,则不做任何处理。#include#includemain()double x; scanf(“%lf”,&x); if(x=0) printf(“%10.6lf”,sqrt(x);2.输入两个数,比较其大小,将较大的数输出。#includevoid main()float a,b; scanf(“%f,%f”,&a,&b); if(ab) printf(“%f”,a); else printf(“%f”,b);4.根据变量i的值,输出字符。#includevoid main()in
11、t i; printf(“please input i:”); scanf(“%d”,%i); switch(i) case 1:printf(“A/n”); case 2:printf(“B/n”); case 3:printf(“C/n”); case 4:printf(“D/n”); default:printf(“En); 5.根据输入的学生成绩判断等级。当成绩score=90时,为A等;成绩70=score90时,为B等;成绩60=score70时,为C等;成绩score60时,为D等(score为整数)。#includevoid main()int score; scanf(“%d
12、”,&score); switch(score/10)case 10: case 9:printf(“%d:An”,score);break; case 8: case 7:printf(“%d:Bn”,score);break; case 6:printf(“%d:Cn”,score);break; default:printf(“%d:Dn”,score);6.求方程a*x*x+b*x+c=0的实数解。#includevoid main()float a,b,c,x1,x2,disc; printf(“input a b c:”); scanf(“%f %f”,&a,&b,&c); if(
13、fabs(a)1e-6)printf(“The equation has not real root”); elseif(fabs(disc)1e-6) printf(“”The equation has two equal roots:%8.4f”.-b/(2*a); else x1=(-b+sqrt(disc)/(2*a); x2=(-b-sqrt(disc)/(2*a); printf(“The equation has distinct real roots:%8.4f”,x1,x2); 7.输入年号,判断它是否闰年。#includevoid main()unsigned int ye
14、ar,leap; printf(“Enter year:”); scanf(“%d”,&year); if(year%400=0) leap=1; else if(year%400=0&year%100!=0) leap=1;else leap=0; if(leap=1)printf(“%d:is a leap year.”,year); else printf(“%d is not a leap year.”,year);10.输入整数 a 和 b ,如果 a 能被 b 整除,就输出算式和商,否则输出算式、整数商和余数。 main() int a,b; printf(Input two in
15、teger numbers a,b:); scanf(%d,%d,&a,&b); if(b!=0&a%b=0) printf(%d/%d=%d,a,b,a/b); else printf(%d/%d=%d.%d,a,b,a/b,a%b);12.输入年号和月份,输出这一年该月的天数(一个年份,先判断是否闰年)。main() int y,m,d,f; printf(Input year and month y-m:); scanf(%d-%d,&y,&m); f=(y%4=0&y%100!=0|y%400=0); if(m=2) d=28+f; /*依据是否闰年决定2月份的实际天数,若是闰年,则f
16、=1,d即为29天*/ else d=31-(m=4)-(m=6)-(m=9)-(m=11);/*m=4时其值为1,则本月为30天,典型算法,重要啊*/ printf(%d-%d is %d days.n,y,m,d);13.有一函数 x-1 -5x0y= x x=0 x+1 0x-5&x0&x-5&x8) if(x0)y=x-1; else if(x=0)y=0: else y=x+1; printf(y=%fn,y);main() float x,y; scanf(%f,&x); if(x0)y=x+1; else if(x=0)y=0; else if(x-5)y=x-1; printf
17、(y=%fn,y);使用多分支语句程序如下:main() float x,y; int m; printf(Input x:); scanf(%f,&x); if(x-5&x8) if(x0)m=-1; else if(x=0)m=0: else m=1; switch(m) case -1:y=x-1;break; case 0:y=0;break; case 1:y=x+1;break; printf(y=%fn,y);1.写一个程序,输入一个班级学生的成绩,求全班的平均成绩。#includemain()float score,average=0; int n=0; scanf(“%f”,
18、&score);while(score=0)average+=score; n+; scanf(“%f”,&score);if(n!=0) average=average/n;printf(“%6.2f”,average);2.写程序计算s=1+2+3+100。#includevoid main()int s=0; for(i=1;i=100;i+)s=s+I; printf(“s=%d”,s);3.用for循环语句求n!。#includevoid main()int i,n; long fac; scanf(“%d”,&n); fac=1; for(i=1;i=0) sum+=x; else
19、 break;printf(“sum=%10ld”,sum);5.显示输入的字符,如果按的是Esc键,则退出循环,如果按的是Enter键,则不做任何处理,继续输入下一个字符。#include”conio.h”void main()char ch;l for(;) ch=getch();if(ch=27) break;if(ch=13) continue;putch(ch); getch();6.编写多个学生的成绩评定等级的程序。void main()int i,score; scanf(“%d”,&score); while(score=0) switch(score=0)case 10: c
20、ase 9:printf(“%d:An”,score);break; case 8: case 7:printf(“%d:Bn”,score);break; case 6:printf(“%d:Cn”,score);break; default:printf(“%d:Dn”,score);break; scanf(“%d”,&score);7.找出31000中的全部素数。#includevoid main() unsigned int i,j,count,flag;count=0;for(i=3;i=1000;i+) flag=0; for(j=2;j=sqrt(i);j+) if(i%j=0
21、) flag=1;break; if(flag=0)printf(“%4d”,i);count+; if(count%8=0) printf(“n”); 8.用公式/4=1-1/3+1/5-1/7+,求的近似值, 直到最后一项的绝对值小于10-6为止。#includevoid main() int f=1;float pi=0,t=1,v=1;while(fabs(t)1e-6) pi=pi+t; v+=2; f=-f; t=f/v;pi*=4;printf(“n pi=%10.8f”,pi);10.输入 n 个整数,求这 n 个数之中的偶数平均值,并输出。main() int n,i,x,s
22、um=0,count=0; printf(Input n:); scanf(%d,&n); for(i=0;i=a&ch=A&ch=0&ch=a&ch=A&ch=Z)printf(%c,ch+32); getch();14.设某县2000年工业总产值为200亿元,如果该县预计平均年工业总产值增长率为4.5%,那么多少年后该县年工业总产值将超500亿元。main() float x=200; int n=0; do x*=(1+0.045); n+; while(x500); printf(n=%d,n); getch();15.输出1999中能被3整除,而且至少有一位数字是5的所有数字。mai
23、n() int x,y,flag; for(x=1;x1000;x+) flag=0; y=x; if(y%3=0)/*余数为0说明该数能够被3整除*/ while(y%10!=0) if(y%10=5)flag=1;/*依个位、十位、百位顺序判断是否余数为5*/ y/=10; if(flag=1)printf(%dt,x); getch();17.输入一个3位数,判断是否是一个“水仙花数”。水仙花数是指3位数的各位数字的立方和等于这个3位数本身。例如,1531*1*1+5*5*5+3*3*3main() int x,a,b,c; printf(Input number:); scanf(%d
24、,&x); a=x/100;/*变量a中记录x的百位数字*/ b=x/10%10;/*变量b中记录x的十位数字*/ c=x%10; /*变量c中记录x的个位数字*/ if(a*a*a+b*b*b+c*c*c=x) printf(%d=%d*%d*%d+%d*%d*%d+%d*%d*%dn,x,a,a,a,b,b,b,c,c,c); printf(YES); else printf(NOT); getch();18.计算斐波那契分数序列前n项之和(n是某个常数,波那契分数序列为2/1,3/2,5/3,8/5,.)。main() int i,n=10; float f1=1,f2=2,f,sum=
25、0; for(i=0;in;i+) sum+=f2/f1; f=f1+f2; f1=f2; f2=f; printf(total=%dnsum=%f,n,sum); getch();19.输入一个正整数,各输出n行的正(倒)三角形宝塔图案。main() int n,i,j; printf(Input n:); scanf(%d,&n); for(i=0;in;i+) for(j=i+1;jn;j+)printf( ); for(j=0;j2*i+1;j+)printf(*); printf(n); for(i=0;in-1;i+) for(j=0;ji+1;j+)printf( ); for(
26、j=2*i-1;jn+1;j+)printf(*); printf(n); getch();20.输出九九表。main() int i,j; for(i=1;i=9;i+) for(j=1;j=0&ch=9) x=10*x+ch-0; y=10*y; if(x!=0&10*xy)f=0; continue; else if(x!=0) if(f=1) x=-x; nsum+=x; ncnt+; else psum+=x; pcnt+; printf(%dn,x); f=0;x=0;y=1; continue; if(x!=0) if(f=1) x=-x; nsum+=x; ncnt+; els
27、e psum+=x; pcnt+; printf(%dn,x); printf(n-n); printf(Plus:n); printf(Count=%dn,pcnt); printf(Average=%fn,psum/pcnt); printf(-n); printf(Negative:n); printf(Count=%dn,pcnt); printf(Average=%fn,nsum/ncnt); getch();22.一个整数等于该数所有因子之和,则称该数是一个完数。例如,6和28都是完数。因为61+2+3,281+2+4+7+14。输出3位数中所有的完数。main() int k1,
28、 k2, k3, k4, k5, k6, k7, k8, k9, k10; int i,a,n,s; for (a = 100; a = 999; a+) n = 0; /* n累计因子的个数 */ s = a; /* s存放未求出的因子之和,初值为被测数本身 */ for (i = 1; i 1) printf(%d,%d, k1, k2); /* n1表示a至少有2个因子 */ if (n 2) printf(,%d, k3); /* 注意以下if的用法,追加的方法 */ if (n 3) printf(,%d, k4); if (n 4) printf(,%d, k5); if (n 5
29、) printf(,%d, k6); if (n 6) printf(,%d, k7); if (n 7) printf(,%d, k8); if (n 8) printf(,%d, k9); if (n 9) printf(,%d, k10); printf(n); getch();23.编写程序按下列公式计算e的值(精度为1e-6)。e=1+1/1!+1/2!+1/3!.+1/n!main() int i; double e=0,t=1; for(i=1;t0.;i+) for(j=1;j=i;j+)t*=j; t=1/t; e+=t; printf(e=%fn,e); getch();2
30、4.用二分法求方程2x3-4x2+3x=0在(-10,10)附近的根(二分法:先找到a、b,使f(a)、f(b)异号,说明在区间(a,b)内一定有零点,然后求f(a+b)/2,现在假设f(a)0,ab,如果f(a+b)2=0,该点就是零点,如果f(a+b)/20,则在区间(a+b)/2,b)内有零点,按上述方法再求该区间中点的函数值,通过每次把f(x)的零点所有小区间收缩一半的方法,使区间的两个端点逐步迫近函数的零点,以求得零点的近似值,该值即是方程的根)。#includemath.hmain() double x,fx,fa,fb,a=-10,b=10,z=0.0001; fa=2*a*a*
31、a-4*a*a+3*a; fb=2*b*b*b-4*b*b+3*b; if(fa*fb0) do x=(a+b)/2; fx=2*x*x*x-4*x*x+3*x; if(fxz); printf(The root is:%lfn,x); getch();1.编写计算x的n次乘方的程序。#includevoid main()float x,y; int n; float power(float x,int n); scanf(“%f,%d”,&x,&n); y=power(x,n); printf(“%8.2f”,y); float power(float x,int n)int i; floa
32、t t=1; for(i=1;i=n;i+) t=t*x; return t;3.输入两个数,输出较大的数。#includevoid main()int a,b,m; int max(int,int); scanf(“%d,%d”,&a,&b); m=max(a,b); printf(“max=%d”,m);int max(int x,int y)int t; if(xy)t=x; else t=y; rerurn t;4.设求最大公约数的程序。#includeint divisor(int a,int b)int r; dor=a%b; a=b; b=r;while(r!=0);return
33、 a;void main()int a,b,d; scanf(“%d,%d”,&a,&b); if(ab)d=divisor(a,b); elsed=divisor(b,a); printf(“a=%d,b=%dn”,a,b); printf(“d=%d”,d);5.用递归计算n!。long fac(int n)long f; if(n=0)f=1; elsef=n*fac(n-1); return f; void main()long y; int n; scanf(“%d”,&n); y=fac(n); printf(“%d!=%ld”,n,y);6.用递归算法求m与n的最大公约数。int gcd(int m,int n)int g; if(n=0) g=m; else g=gcd(n,m%n) return(g);void main()int m,n; scanf(“%d,%d”,&m,&n); printf(“gcd=%d”,gcd(m,n);8.计算s=1k+2k+3k+nk(0=k=5)。long power(int i,int k)long power=1;int j; for(j=1;jk;j+)power*=i; return power;long f(int n,int k)long sum=0;int i; for(i=1;in;i+)sum+=powe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《文艺复兴时期》课件
- 《欧姆龙初级培训班》课件
- 《唐氏产前筛查》课件
- 汽车在特殊条件下的使
- 新课程进修方法的变更电力水利工程科技
- 有支撑上有压力把握玉米波段投资机会为宜
- 抗菌药物分类特点及应用
- 提高自尊水平维护教师心理健康长江大学
- 2026跨境电商SaaS服务商功能完善度与中小卖家付费意愿报告
- 2026重庆建筑工程行业市场全面分析与发展空间评估与投融资路径规划研究报告
- 3.2.1 分数除以整数 教学课件2026-2027学年人教版数学六年级上册
- 译林版七年级英语上册知识清单
- 2026秋冀少版新教材七年级上册生物学每课知识点清单
- 中国重症患者液体管理专家共识(2026版)
- 2026年6月英语四级真题(第一套)附答案
- 燃料电池发动机YHT30版用户使用手册
- 2026年全国翻译专业资格考试(CATTI)三级口译英语口译综合能力真题
- 农业政策学(第二版) 课件 第5章 农业科技政策
- 2025年住院医师规范化师资培训考试题附答案
- 粮库智能化设备管理制度
- DB31/T 1043-2017暴雨强度公式与设计雨型标准
评论
0/150
提交评论