


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、三、编程题1. 输入一个半径值,分别计算圆周长、圆面积和球的体积。要求使用符号常量定义圆周率。 #include<stdio.h> int main()printf(" 计算圆周长 面积 求面积 n"); float r,c,s,v;scanf("%f",&r);# define PI 3.14159265 c=2*PI*r;s=4*PI*r*r;printf(" 周长是 %.2fn",c); printf(" 表面积是 %.2fn",s); printf(" 体积是 %.2fn&qu
2、ot;,v); return 0;2. 假设今天是星期三,编程求 20 天之后是星期几? #include<stdio.h> int main()printf(" 今天是星期三, 20 天后是星期几? n"); int i;i=23%7;printf("20 天后是星期 %dn",i);return 0;3. 从键盘输入一个字符,然后将其按字符和整数这两种形式输出。 #include<stdio.h> int main()printf(" 输入一个字符 n"); char i;scanf("%c&qu
3、ot;,&i);printf(" 整数形式是 %dn",i); printf(" 字母形式是 %cn",i); return 0;4. 输入一个大写英文字母,将它转化为小写输出。 #include<stdio.h> int main()printf(" 请输入一个大写英文字母 n"); char ch;scanf("%c",&ch);printf("%cn",ch+32);return 0;5. 求一元二次方程ax2+bx+c=0方程的两个实根。a、b、c由键盘输入。
4、(默认b*b-4*a*c>=0 )#include<stdio.h>#include<math.h>int main()printf(" 求两个实数根 n");float x1,x2,a,b,c;scanf("%f%f%f",&a,&b,&c);x1=(-b)+sqrt(b*b-4*a*c)/2;x2=(-b)-sqrt(b*b-4*a*c)/2;printf("%.2fn",x1);printf("%.2fn",x2);return 0;6. 输入长方形的长和
5、宽,编程求该长方形的周长和面积#include<stdio.h>int main()printf(" 输入长和宽 n");int a,b,c,s;scanf("%d%d",&a,&b);c=2*(a+b);s=a*b;printf(" 周长是 %dn",c);printf(" 面积是 %dn",s);return 0;7. 要将“ China”译成密码,译码规律是:用原来字母后面的第5个字母代替原来的字母。例如,字母“A”后面第5个字母是“F”,用“F”代替“A”。因此,“China”应
6、译为“Hmnsf”。 请编写程序,用赋初值的方法使c1、 c2、 c3、 c4、 c5 5个变量的值分别为 C'、h'、i'、n' a',经过运算,使 cl、c2、c3、c4、c5 分别变为H' 'm'、n'、 s' f'并输 出。#include<stdio.h>int main()printf("China 到 Hmnstn");char a5='C','h','i','n','a'for(i
7、nt i=0;i<=5;i+)ai=ai+5;for(int j=0;j<=5;j+)printf("%c",aj);printf("n");return 0;8有人用温度计测量出用华氏法表示的温度,现输入华氏温度f,要求把它转换为以摄氏法表示的温度c并输出。(c=5/9( f-32)#include<stdio.h>int main()printf(" 把华氏温度转换为摄氏温度 n");printf(" 请输入华氏温度 :n");float i,j;scanf("%f"
8、,&i);j=5*(i-32)/9;printf("%.1fn",j);return 0;9. 编写程序,输入两个实数,按代数值由大到小的顺序输出这两个实数。#include<stdio.h>int main()printf(" 将两个实数从大到小排列 n");float i,j;scanf("%f%f",&i,&j);if(i>j)printf(" 输出 %f %fn",i,j);elseprintf(" 输出 %f %fn",j,i);return
9、0;10. 编写程序,从键盘输入两个整数,输出其中较小的数。#include<stdio.h>int main()printf(" 输出较小的数 n");int i,j;scanf("%d%d",&i,&j);if(i<j)printf("%dn",i);elseprintf("%dn",j);return 0;11 .编写程序,输入一个不多于5位的正整数,输出该正整数是几位数。#include<stdio.h>int main()printf(" 输入一个不
10、多于 5 位数的正整数 n");int i;scanf("%d",&i);if(i>0&&i<10)printf("%d 是一位数 n",i);if(i>=10&&i<100)printf("%d 是二位数 n",i);if(i>=100&&i<1000)printf("%d 是三位数 n",i);if(i>=1000&&i<10000)printf("%d 是四位数 n&qu
11、ot;,i);return 0;12. 编写程序,不使用系统提供的数学函数,编写程序求一个实数的绝对值。#include<stdio.h>int main()printf(" 求一个实数的绝对值 n");int i;scanf("%d",&i);if(i>=0)printf(" 绝对值是 %dn",i);if(i<0)printf(" 绝对值是 %dn",-i);return 0;13. 编写程序,编写程序实现如下分段函数。当x<-5时,f(x)=|x|+5;当-5< x
12、w 5时,f(x)=x*x;当 x>5 时, f(x)=6x-10 。( x 定义成实型数据)#include<stdio.h>int main()int i;scanf("%d",&i);if(i<-5)printf("%dn",-i+5);if(-5<=i&&i<=5)printf("%dn",i*i);elseprintf("%dn",6*i-10);return 0;14. 编写程序,输入 2015 年的一个月份,输出该月有多少天。 (使用 swi
13、tch 语句实现) #include<stdio.h>int main()printf(" 输入月份 n");int month,day;scanf("%d",&month);switch(month)case 2: day=28; printf("%dn",day);break;case 1:case 3:case 5:case 7:case 8:case 10:case 12: day=31; printf("%dn",day);break;case 4:case 6:case 9:case
14、 11: day=30; printf("%dn",day);break;return 0;15. 编写程序,判断某一年是否是闰年。 #include<stdio.h>int main()printf(" 判断某一年是否为闰年 n");int i;scanf("%d",&i);if(i%4=0)printf("%d 是闰年 n",i);if(i%4!=0)printf("%d 是平年 n",i);return 0;16. 编写程序,编写程序,根据输入的学生成绩输出相应的等级。
15、90 分以上(包括 90 分)为A等,8089分为B等,7079分为C等,6069分为D等,60分以下为 E等。 #include<stdio.h>int main()printf(" 求学生成绩相应的等级 n");int i;scanf("%d",&i);if(i>=90)printf("%d 是 An",i);else if(i<90&&i>=80)printf("%d 是 Bn",i);else if(i<80&&i>=70)p
16、rintf("%d 是 Cn",i);else if(i<70&&i>=60)printf("%d 是 Dn",i);elseprintf("%d 是 En",i);return 0;17 编写程序,输入一个百分制成绩,若大于等于60,则输出“恭喜!您的成绩通过了!若小于 60,则输出“抱歉!您的成绩未通过!”(要求成绩只能是整数)#include<stdio.h>int main()printf(" 请输入您的成绩 n");int i;scanf("%d"
17、;,&i);if(i>=60)printf(" 您通过了 n");elseprintf(" 您没通过 n");return 0;18. 编写程序,输入3个整数x、y、z,输出其中最小值。#include<stdio.h>int main()printf(" 输出最小值 n");int x,y,z,min1,min;scanf("%d%d%d",&x,&y,&z);min1=x<y?x:y;min=min1<z?min1:z;printf(" 最
18、小值是 %dn",min);return 0;19. 编写程序,输入三角形的 3条边a、b、c,判断它们能否构成三角形。若能构成三角形, 求出三角形面积。(s=(a+b+c)/2 ,三角形面积 area=sqrt(s(s-a)(s-b)(s-c)#include<stdio.h>#include<math.h>int main()printf(" 判断能否构成三角形 若能 求面积 n");float a,b,c,d,s;scanf("%f%f%f",&a,&b,&c);d=(a+b+c)/2; i
19、f(a>=c+b|b>=a+c|c>=a+b) printf(" 不能构成三角形 n"); else s=sqrt(d*(d-a)*(d-b)*(d-c); printf(" 面积是 %.2fn",s); return 0;20. 编写程序,试编程判断输入的正整数是否既是5又是7的整倍数。若是,则输出yes,否则输出 no。#include<stdio.h>int main() printf(" 判断一个正整数是否既是 5 又是 7 的倍数 n");int i;scanf("%d",&
20、amp;i);if(i%35=0)printf("yesn");elseprintf("non");return 0; 21. 编写程序,编程实现以下功能:读入两个运算数( datal和data2)及一个运算符(op), 计算表达式datal op data2的值,其中op可为+,?,*,/(执行除法运算时假设 data2不为0, 用 switch 语句实现)。#include<stdio.h>int main() char op;float data1,data2;printf(" 请输入两个数字 n"); scanf(
21、"%f%c%f",&data1,&op,&data2);switch(op) case'+':printf("%f+%f=%.2fn",data1,data2,data1+data2);break;case'-':printf("%f-%f=%.2fn",data1,data2,data1-data2);break;case'*':printf("%f*%f=%.2fn",data1,data2,data1*data2);break; case
22、'/':printf("%f/%f=%.2fn",data1,data2,data1/data2);break;return 0;22. 编写程序,编写程序,输入任意一个17之间的整数,将他们转换成对应的表示星期几的英文单词。例如:1转换成Mo nday,7转换成Sun day。(使用switch语句实现) #include<stdio.h>int main()printf(" 请输入 1 至 7 之间任意整数 n");int i;scanf("%d",&i);switch(i)case 1:pri
23、ntf("Mondayn");break;case 2:printf("Tuesdayn");break;case 3:printf("Wednesdayn");break;case 4:printf("Thursdayn");break;case 5:printf("Fridayn");break;case 6:printf("Saturdayn");break;case 7:printf("Sundayn");break;return 0;23. 输出
24、小写字母的 ascii 码对照表。#include<stdio.h>int main()printf(" 输出小写字母的 ascii 码 n");char ch;ch='a'for(int i=0;i<=25;i+)printf("%c:%dt",ch+i,ch+i);printf("n");return 0;24. 输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#include<stdio.h>main()int a=0,b=0,c=0,d=0,i=0;char s1
25、0;printf(" 请输入一行不超过十个字的字符串: n");gets(s);while(i<10)if(si>='0'&&si<='9')a+;else if(si>='a'&&si<='z')|(si>='A'&&si<='Z')b+;else if(si=' ')c+;elsed+;i+;printf("数字的个数是%dn",a);printf(&
26、quot;字母的个数是%dn",b);printf("空格的个数是%dn",c);printf(" 其他符号的个数是 %dn",d);return 0;25. 输出图形$d* d* d* d* d*$d* d* d* d* d* d* d*$#include<stdio.h>#include<math.h>int main()for(int i=0;i<=3;i+)for(int j=1;j<=7;j+)if(j>=fabs(4-i)&&j<=fabs(4+i)printf(&qu
27、ot;$");elseprintf(" ");printf("n");return 0;26. 求 s=1+(1+2)+(1+2+3)+ +(1+2+3+n),要求 n 从键盘输入。#include<stdio.h>main()int sum=0,n,i,a=1;printf("计算 1+(1+2)+(1+2+3)+ (1+2+3+n)=?n");scanf("%d",&n);while(a<=n)i=(1+a)*a/ 2;sum=sum+i;a+;printf(" 输
28、出 sum=%dn",sum);return 0;27. 计算 10!#include<stdio.h>int main()int i=1,a=1;for(i=1;i<=10;i+)a=a*i;printf("%dn",a);return 0;28. 输出所有的“水仙花数” ,所谓“水仙花数”是指一个 3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为153=1A3+5A3+3A3。#include<stdio.h>int main()printf(" 输出所有的水下花数 n");for(int
29、 i=1;i<=9;i+)for(int j=0;j<=9;j+)for(int k=0;k<=9;k+) if(100*i+10*j+k=i*i*i+j*j*j+k*k*k) printf("%d%d%d ",i,j,k); printf("n"); return 0;29. 鸡兔同笼,上数共有35 个头,下有 94 只脚,鸡、兔各有几只 ?#include<stdio.h>int main()for(int x=0;x<=35;x+)for(int y=0;y<=35;y+) if(x+y=35)&&
30、amp;(2*x+4*y=94) printf(” 鸡有%d 只,兔子有 %d 只n”,x,y);return 0;30. 编程找 10 个数中的最大数以及该数在数组中的位置。 #include<stdio.h>int main()printf(" 找 10 个数中最大数极其所在位置 n");int a10,max;for(int i=0;i<=9;i+) scanf("%d",&ai);max=a0;for(int j=1,int k=0;j<=9;j+)if(max<aj) max=aj; k=j+1;print
31、f(” 第 %d 位 n",k);printf(" 最小是 %dn",max); return 0;31. 编程找 10 个数中的最小数以及该数在数组中的位置。 #include<stdio.h>int main()printf(" 找 10 个数中最小数极其所在位置 n");int a10,min;for(int i=0;i<=9;i+) scanf("%d",&ai);min=a0;for(int j=1,int k=0;j<=9;j+)if(min>aj)min=aj;k=j+1;
32、printf(” 第 %d 位 n",k);printf(" 最小是 %dn",min); return 0;32. 编程将一个数组中的元素按逆序存放。#include<stdio.h>int main()printf(" 一个数组按照逆序存放 n");int a10,b10;for(int i=0;i<=9;i+) scanf("%d",&ai);for(int j=0;j<=9;j+) bj=a9-j;printf("%d ",bj);printf("n&qu
33、ot;);return 0;33. 编程计算 Fibonacci 数列的前 50 项,并把结果存放在一个数组中。 (Fibonacci 数列前两项的值是 1。从第 3 项开始,其值为前两项之和。 ) #include<stdio.h>int main()int a50=0,1;for(int i=2;i<50;i+)ai=ai-1+ai-2;for(i=0;i<50;i+)printf("%ft",ai);printf("n");return 0;34. 编写程序,将两个字符串连接起来(不使用strcat 函数)。#include
34、<stdio.h> int main()int i=0,j=0;printf(" 将两个字符串连接起来 n");char ch1100,ch2100;printf(" 输入第一个字符串: ");gets(ch1);printf(" 输入第二个字符串: ");gets(ch2); while(ch1i!='0') i+;while(ch1j!='0')j+;for(int k=i;k<=i+j-1;k+) ch1k=ch2k-i;printf(" 连接后为: ");f
35、or(int l=0;l<=i+j-1;l+) printf("%c",ch1l); printf("n");return 0;35. 有一个 2 行 3 列的矩阵,编程找出值最小的元素的值以及它所在的行列号。 #include<stdio.h>int main()printf(" 找到最小元素的值极其位置 n");int a23,min,x,y;for(int i=0;i<=1;i+)for(int j=0;j<=2;j+)scanf("%d",&aij);min=a00;f
36、or(int m=0;m<=1;m+)for(int l=0;l<=2;l+)if(min>aml)min=aml;x=m+1;y=l+1;printf("%dn",min);printf(" 第 %d 行,第 %d 列 n",x,y);return 0;36. 一个学习小组有 3 个人,每人有 4 门课的成绩。计算每个人的平均成绩。#include<stdio.h>int main()printf(" 分别计算每个人的平均数 n");float a34,v3,s=0;for(int m=0;m<=
37、2;m+)for(int l=0;l<=3;l+)scanf("%f",&aml);s=s+aml;vm=s/4;s=0;printf(" 第 一 个 人 平 均 分 是 %.2fn 第 二 个 人 平 均 分 是 %.2fn 第 三 个 人 平 均 分是 .2fn",v0,v1,v2);return 0;37 .编程输出杨辉三角中的前 10行。11 1121133 1#include<stdio.h>int main()printf("n");int a1010=1,1,1,i,j;for(i=0;i<
38、;10;i+)ai0=1;for(i=2;i<10;i+)for(j=1;j<10;j+) aij=ai-1j-1+ai-1j;for(i=0;i<10;i+)for(j=0;j<=i;j+) printf("%dt",aij); printf("n"); printf("n");return 0;38. 编写一个函数,输入立方体的长、宽、高,输出立方体的体积。 #include<stdio.h>int V(int i,int j,int k);int main()int a,b,c;printf(
39、" 输入长方体的长宽高 n"); scanf("%d%d%d",&a,&b,&c);printf(" 体积是 %dn",V(a,b,c);return 0;int V(int i,int j,int k)int v=i*j*k;return v;39. 输入两个整数,要求输出其中值较大者。用函数实现找大数。 #include<stdio.h> int MAX(int i,int j);int main()int a,b;printf(" 输入两个整数 n"); scanf(&qu
40、ot;%d%d",&a,&b);printf(" 最大数是 %dn",MAX(a,b);return 0;int MAX(int i,int j)int v=i>j?i:j;return v;40. 编写一个函数,用递归方法求 n! ,调用该函数求 m!/(n!*(m-n)!) 的值并输出。 #include<stdio.h>float X(int n);int main()int m,n;scanf("%d%d",&m,&n);printf("result is %.3fn"
41、;,X(m)/X(n)/X(m-n);return 0;float X(int n)int i=1,a=1;for(i=1;i<=n;i+)a=a*i;return a;41. 编写一个函数,实现用选择法对数组中10 个整数按由小到大排序。#include<stdio.h>int pailie(int a10,int n);int main()for(int i=0;i<=9;i+)scanf("%d",&ai);return 0;int pailie(int a10,int n)(不会)42. 编写一个函数,求一个3 X 4的矩阵所有元素之
42、和。43. 编写求圆的面积的函数,并调用该函数求出圆的面积。#include<stdio.h>float S(int r);int main()printf(" 计算圆的面积 n");int i;scanf("%d",&i);printf(" 面积是 %.2fn",S(i);return 0;float S(int r)float s;#define PI 3.14159265s=r*r*PI;return s;1 和它本 判断该数44. 编写一个函数,该函数的功能是判断一个整数是不是素数(所谓素数是指除了身以外
43、,不能被任何整数整除的数) ,在 main 函数中输入一个整数,调用该函数, 是不是素数,若是则输出“yes” ,否则输出“ no”。#include<stdio.h>int j();int main()printf(" 请输入一个数: n");j();return 0;int j()int n;scanf("%d",&n);if(n=1&&n=2)printf("%d 是素数 n",n);for(int i=2;i<=n;i+)if(n%i=0)break;if(i<n)printf(
44、"%d 是合数 n",n);elseprintf("%d 是素数 n",n);return 0;45. 编写判定闰年的函数,并调用此函数求出公元2000年到公元 2100 年之间的所有闰年。#include<stdio.h>int RUN(int i);int main()printf(" 输出 2000 至 2100 之间的闰年: n");for(int a=2000;a<=2100;a+)RUN(a);printf("n");return 0;int RUN(int i)int j;if(i%
45、4=0)printf("%d ",i);return 0;46. 编写两函数分别求两个个整数的最大公约数和最小公倍数,用主函数调用两个函数并输 出结果,两个整数由键盘输入。#include<stdio.h>int MAX(int a,int b);int MIN(int a,int b);int main()printf(" 请输入两个数 求最大公约数和最小公倍数 n");int x,y;scanf("%d%d",&x,&y);printf(" 最大公约数是 %d ,最小公倍数是 %dn",MAX(x,y),MIN(x,y);return 0;i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论