


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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",
2、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",&i
3、);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由键盘输入。b*b-4*a*c>
4、=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. 输入长方形的长和宽,编程求该长方形的周长和面积#i
5、nclude<stdio.h>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 ”应译为“ Hmnsf ”。请编写程序,用赋初值
6、的方法使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'ai=ai+5;for(int j=0;j&l
7、t;=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",&i);j=5*(i-32)/9;printf(&qu
8、ot;%.1fn",j);return 0;9. 编写程序,输入两个实数,按代数值由大到小的顺序输出这两个实数。#include<stdio.h>printf(" 将两个实数从大到小排列 n");float i,j;scanf("%f%f",&i,&j);if(i>j)printf(" 输出 %f %fn",i,j);elseprintf(" 输出 %f %fn",j,i);return 0;10. 编写程序,从键盘输入两个整数,输出其中较小的数。#include<
9、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(" 输入一个不多于 5 位数的正整数 n");int i;scanf("
10、%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",i);return 0;12. 编写程序,不使用系统提供的数学函数,编
11、写程序求一个实数的绝对值。 #include<stdio.h>int main()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<5时,f(x)=x*x;当 x>5 时, f(x)=6x-10。( x 定义成实型数据)#include<stdio.h&
12、gt;int main()int i;scanf("%d",&i);if(i<-5)printf("%dn",-i+5);if(-5<=i&&i<=5)printf("%dn",i*i);else return 0;14. 编写程序,输入 2015 年的一个月份,输出该月有多少天。 (使用 switch 语句实现)#include<stdio.h>int main()printf(" 输入月份 n");int month,day;scanf("%d&q
13、uot;,&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:return 0;15. 编写程序,判断某一年是否是闰年。#include<stdio.h>int main()printf(" 判断某一年是否为闰年 n");int i;sca
14、nf("%d",&i);if(i%4=0)printf("%d 是闰年 n",i);if(i%4!=0)printf("%d 是平年 n",i);return 0;16. 编写程序,编写程序,根据输入的学生成绩输出相应的等级。 90 分以上(包括 90 分)为A等,8089分为B等,7079分为C等,6069分为D等,60分以下为 E等。#include<stdio.h>int main()int i;scanf("%d",&i);if(i>=90)printf("%d
15、是 An",i);else if(i<90&&i>=80)printf("%d 是 Bn",i);else if(i<80&&i>=70)printf("%d 是 Cn",i);else if(i<70&&i>=60)printf("%d 是 Dn",i);elseprintf("%d 是 En",i);return 0;17 编写程序,输入一个百分制成绩,若大于等于 60 ,则输出“恭喜!您的成绩通过了!若小于 60 ,
16、则输出“抱歉!您的成绩未通过! ”(要求成绩只能是整数)#include<stdio.h>int main()int i;scanf("%d",&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(&
17、quot;%d%d%d",&x,&y,&z);min1=x<y?x:y;min=min1<z?min1:z;printf(" 最小值是 %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(" 判断能否构成三角形 若
18、能 求面积 n");float a,b,c,d,s;scanf("%f%f%f",&a,&b,&c);d=(a+b+c)/2;if(a>=c+b|b>=a+c|c>=a+b)printf(" 不能构成三角形 n");elses=sqrt(d*(d-a)*(d-b)*(d-c);printf(" 面积是 %.2fn",s);return 0;yes,20. 编写程序,试编程判断输入的正整数是否既是 5又是 7的整倍数。若是,则输出 否则输出 no 。#include<stdio.
19、h>printf(" 判断一个正整数是否既是 5 又是 7 的倍数 n");int i;scanf("%d",&i);if(i%35=0)printf("yesn");elseprintf("non");return 0;21. 编写程序, 编程实现以下功能: 读入两个运算数 ( data1 和 data2 )及一个运算符 (op ), 计算表达式 data1 op data2 的值,其中 op 可为 +,?,*,/ (执行除法运算时假设 data2 不为 0 ,用 switch 语句实现)。#inc
20、lude<stdio.h>int main()char op;float data1,data2;printf(" 请输入两个数字 n");scanf("%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-data
21、2);break; case'*':printf("%f*%f=%.2fn",data1,data2,data1*data2);break; case'/':printf("%f/%f=%.2fn",data1,data2,data1/data2);break;return 0;22. 编写程序,编写程序,输入任意一个17之间的整数,将他们转换成对应的表示星期几的英文单词。例如: 1 转换成 Monday , 7 转换成 Sunday 。(使用 switch 语句实现) #include<stdio.h>int
22、 main()printf(" 请输入 1 至 7 之间任意整数 n");int i;scanf("%d",&i);switch(i)case 1:printf("Mondayn");break;case 2:printf("Tuesdayn");break;case 3:printf("Wednesdayn");break;case 4:printf("Thursdayn");break;case 5:printf("Fridayn");brea
23、k;case 6:printf("Saturdayn");break;case 7:printf("Sundayn");break;return 0;23. 输出小写字母的 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");retur
24、n 0;24. 输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#include<stdio.h>main()int a=0,b=0,c=0,d=0,i=0;char s10;printf(" 请输入一行不超过十个字的字符串: n"); gets(s);while(i<10)if(si>='0'&&si<='9')a+;else if(si>='a'&&si<='z')|(si>='A'&&
25、amp;si<='Z')b+;else if(si=' ')c+;elsed+;printf("字母的个数是%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
26、j=1;j<=7;j+)if(j>=fabs(4-i)&&j<=fabs(4+i) printf("$");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&qu
27、ot;,&n);while(a<=n)i=(1+a)*a/2;sum=sum+i;a+;printf(" 输出 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;2 8.输出所有的“水仙花数” ,所谓“水仙花数”是指一个 3 位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为153=1A3+5A3+3A3。#inclu
28、de<stdio.h>int main()printf(" 输出所有的水下花数 n");for(int 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()f
29、or(int x=0;x<=35;x+)for(int y=0;y<=35;y+)if(x+y=35)&&(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;fo
30、r(int j=1,int k=0;j<=9;j+)if(max<aj)max=aj;k=j+1;printf(”第 %d 位n”,k);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&
31、gt;aj)min=aj;k=j+1;printf(”第 %d 位n”,k);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");return 0;33. 编程计算 F
32、ibonacci 数列的前 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<stdio.h>int main()i
33、nt i=0,j=0;printf(" 将两个字符串连接起来 n");char ch1100,ch2100;printf(" 输入第一个字符串: ");gets(ch1);gets(ch2);while(ch1i!='0')i+;while(ch1j!='0')j+;for(int k=i;k<=i+j-1;k+)ch1k=ch2k-i;printf(" 连接后为: ");for(int l=0;l<=i+j-1;l+)printf("%c",ch1l);printf(&
34、quot;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;for(int m=0;m<=1;m+)for(int l=0;l<=2;l+)if(min>aml)min=am
35、l;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<=2;m+)for(int l=0;l<=3;l+)scanf("%f",&aml);s=s+aml;vm=s/4;
36、s=0;个 人平均 分是 %.2fn 第 三个人 平均 分printf(" 第 一 个 人 平 均 分 是 %.2fn 第是 .2fn",v0,v1,v2);return 0;37. 编程输出杨辉三角中的前 10 行。11 11 2 1#include<stdio.h>int main()printf("n");int a1010=1,1,1,i,j;for(i=0;i<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;
37、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(" 输入长方体的长宽高 n");scanf("%d%d%d",&a,&b,&c);printf(" 体积
38、是 %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("%d%d",&a,&b);printf(" 最大数是 %dn",MAX(a,b);return 0;int MAX(int i,in
39、t 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);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>
40、;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 X4的矩阵所有元素之和。43. 编写求圆的面积的函数,并调用该函数求出圆的面积。 #include<stdio.h> float S(int r);int main()printf(" 计算圆的面积 n");int i;scanf("%d",&i);p
41、rintf(" 面积是 %.2fn",S(i);return 0;float S(int r)float s;#define PI 3.14159265s=r*r*PI;return s;1 和它本判断该数44. 编写一个函数,该函数的功能是判断一个整数是不是素数(所谓素数是指除了身以外 ,不能被任何整数整除的数) ,在 main 函数中输入一个整数,调用该函数,no ”。是不是素数,若是则输出“ yes ”,否则输出#include<stdio.h>int j();int main()printf(" 请输入一个数: n");j();ret
42、urn 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("%d 是合数 n",n);elseprintf("%d 是素数 n",n);return 0;45. 编写判定闰年的函数, 并调用此函数求出公元 2000 年到公元 2100 年之间的所有闰年。 #include<stdio.h>int
43、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%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;int MAX(int a,int b)for(int i=(a<b?a:b);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络营销对农产品的影响研究试题及答案
- 清晰明了的土木工程师考试试题及答案
- 新场地测试题及答案
- 电动汽车海外市场的发展机会试题及答案
- 新能源汽车动力系统集成技术试题及答案
- 浅表超声考试试题及答案
- 审计学概论试题及答案
- 承德初中试题分析及答案
- 物理实验与理论2025年大学试题及答案
- 白茶测试题及答案大全
- 浸水电梯应急保障检测规范DB1305T+95-2024
- 医疗安全(不良)事件报告制度培训课件
- 自动喷水灭火系统施工安装质量记录(样本)
- 12SS508混凝土模块式室外给水管道附属构筑物
- T-LNEMA 013-2024 实验室危险化学品贮存管理技术规范
- 麻辣烫合伙人合同协议书(2篇)
- 青年人要有艰苦奋斗的精神(2023年辽宁沈阳中考语文试卷议论文阅读题及答案)
- 食品安全前提方案PRP程序
- 构建水利安全生产风险管控六项机制工作指导手册
- 2024-2030年中国萝卜种植市场营销渠道分析与发展规模研究研究报告
- DZT 0447-2023 岩溶塌陷调查规范(1:50000)
评论
0/150
提交评论