




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、三、编程题1.输入一个半径值,分别计算圆周长、圆面积和球的体积。要求使用符号常量定义圆周率。 #include<stdio.h>int main()printf("计算圆周长 面积 求面积n");float r,c,s,v;scanf("%f",&r);# define PI 3.14159265c=2*PI*r;s=4*PI*r*r;v=4/3*PI*r*r*r;printf("周长是%.2fn",c);printf("表面积是%.2fn",s);printf("体积是%.2fn&q
2、uot;,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);printf
3、("整数形式是%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>=0)#include<
4、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.输入长方形的长和宽,编程求该长方形的周长和面积#include<stdio.h&
5、gt;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”应译为“Hmnsf”。请编写程序,用赋初值的方法使c1、c2、c3、c4、c5 5个变量
6、的值分别为C、h、i、n、a,经过运算,使c1、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(int i=0;i<=5;i+)ai=ai+5;for(int j=0;j<=5;j+)printf("%c",aj);printf("n");return 0;8.有人
7、用温度计测量出用华氏法表示的温度,现输入华氏温度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("%.1fn",j);return 0;9.编写程序,输入两个实数,按代数值由大到小的顺序输出这两个实数。#include<stdio.h>
8、;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 0;10.编写程序,从键盘输入两个整数,输出其中较小的数。#include<stdio.h>int main()printf("输出较小的数n");int i,j;scanf("%d%d",
9、&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("%d",&i);if(i>0&&i<10)printf("%d是一位数n",i);if(i>=10&
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.编写程序,不使用系统提供的数学函数,编写程序求一个实数的绝对值。#include<stdio.h>int main()printf("求一个实数的绝对值n");int i;scanf("%d&
11、quot;,&i);if(i>=0)printf("绝对值是%dn",i);if(i<0)printf("绝对值是%dn",-i);return 0;13.编写程序,编写程序实现如下分段函数。当x<-5时,f(x)=|x|+5;当-5x5时,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)
12、;if(-5<=i&&i<=5)printf("%dn",i*i);elseprintf("%dn",6*i-10);return 0;14.编写程序,输入2015年的一个月份,输出该月有多少天。(使用switch语句实现)#include<stdio.h>int main()printf("输入月份n");int month,day;scanf("%d",&month);switch(month)case 2: day=28; printf("%dn&qu
13、ot;,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 11: day=30; printf("%dn",day);break;return 0;15.编写程序,判断某一年是否是闰年。#include<stdio.h>int main()printf("判断某一年是否为闰年n");int i;scanf("%d"
14、,&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()printf("求学生成绩相应的等级n");int i;scanf("%d",&i);if(i>=90)printf(&quo
15、t;%d是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()printf("请输入您的成绩n");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;
17、scanf("%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;20.编写程序,试编程判断输入的正整数是否既是5又是7的整倍数。若是,则输出yes,否则输出no。#include<stdio.h>int ma
19、in()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语句实现)。#include<stdio.h>int main()c
20、har 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-data2);break;case'*':printf(&
21、quot;%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 main()printf("请输入1至7之间任意整数n");int i;
22、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");break;case 6:printf("Saturdayn");break;case 7:p
23、rintf("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");return 0;24.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#include<stdio.h&
24、gt;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'&&si<='Z') b+; else if(si=' ') c+;elsed+
25、;i+;printf("数字的个数是%dn",a);printf("字母的个数是%dn",b);printf("空格的个数是%dn",c);printf("其他符号的个数是%dn",d);return 0;25.输出图形 $ $ $ $ #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
26、+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",&n);while(a<=n)i=(1+a)*a/2;sum=sum+i;a+;printf(&
27、quot;输出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=13+53+33。#include<stdio.h>int main()printf("输出所有的水下花数n");for(int i=1;
28、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)&&(2*x+4*y=9
29、4)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;printf("第%d位n",
30、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;printf("第%d位n",k);pri
31、ntf("最小是%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");return 0;33.编程计算Fibonacci数列的前50项,
32、并把结果存放在一个数组中。(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()int i=0,j=0;printf("将两
33、个字符串连接起来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("连接后为:");for(int l=0;l<=i+j-1;l+)printf("%c",ch1l);printf(&qu
34、ot;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=aml;x=m+1;y
35、=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;s=0;printf(&
36、quot;第一个人平均分是%.2fn第二个人平均分是%.2fn第三个人平均分是%.2fn",v0,v1,v2);return 0;37.编程输出杨辉三角中的前10行。11 11 2 11 3 3 11 4 6 4 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;i+)for(j=0;j&
37、lt;=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("体积是%dn",V(a,b,c
38、);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,int j)int v=i>j?i:j;retu
39、rn 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",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个整数按由小到大排序。#i
40、nclude<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×4的矩阵所有元素之和。43.编写求圆的面积的函数,并调用该函数求出圆的面积。#include<stdio.h>float S(int r);int main()printf("计算圆的面积n");int i;scanf("
41、%d",&i);printf("面积是%.2fn",S(i);return 0;float S(int r)float s;#define PI 3.14159265s=r*r*PI;return s;44.编写一个函数,该函数的功能是判断一个整数是不是素数(所谓素数是指除了1和它本身以外,不能被任何整数整除的数),在main函数中输入一个整数,调用该函数,判断该数是不是素数,若是则输出“yes”,否则输出“no”。#include<stdio.h>int j();int main()printf("请输入一个数:n");j
42、();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("%d是合数n",n);elseprintf("%d是素数n",n);return 0;45.编写判定闰年的函数,并调用此函数求出公元2000年到公元2100年之间的所有闰年。#include<stdio.h>int RUN(int
43、 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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 寰枕融合的临床护理
- 《2025知识产权许可协议技术合同》
- 《临床护理操作技术》课件
- 生地会考试卷及答案万维
- 上海高一期中试卷及答案
- 山东期中考试试卷及答案
- 深海打捞装备的作业效能评估体系考核试卷
- 硬盘分区与数据恢复考核试卷
- 玩具工厂智能化升级考核试卷
- 玩具设计中的创意原型制作考核试卷
- 工作室股东合同协议
- 关于市中小学“校园餐”突出问题专项整治情况的报告
- SZDB-Z 173-2016 物业绿化养护管理规范
- 艺考全真乐理试题及答案
- 摄影人像知识篇课件
- 急救知识培训课件下载
- 酒店培训技巧
- 锅炉安装安全管理制度
- 2025年北京市海淀区高三一模政治试卷(含答案)
- 液压安全知识培训课件
- 工贸企业综合应急预案
评论
0/150
提交评论