c语言编程大题13046_第1页
c语言编程大题13046_第2页
c语言编程大题13046_第3页
c语言编程大题13046_第4页
c语言编程大题13046_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、知识是人类进步的阶梯三、编程题1.输入一个半径值,分别计算圆周长、圆面积和球的体积。要求使用符号常量定义圆周率。#include<stdio.h> int main()printf("计算圆周长面积求面积n");floatr,c,s,v;scanf("%f",&r);# define PI 3.14159265 c=2*PI*r;s=4*PI*r*r;v=4/3*PI*r*r*r;printf("周长是 %.2fn",c);printf("表面积是 %.2fn",s);printf("

2、体积是 %.2fn",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"

3、;,&i);printf("整数形式是 %dn",i);printf("字母形式是 cn",i);return 0;4 .输入一个大写英文字母,将它转化为小写输出。#include<stdio.h> int main() printf("请输入一个大写英文字母n");charch;scanf("%c",&ch); printf("%cn",ch+32);return 0;5 .求一元二次方程axA2+bx+c=0方程的两个实根。a、b、c由键盘输入。(默认b*b-4*

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");inta,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”应译为“Hmns

6、f”。 请编写程序,用赋初值的方法使cl、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 至U Hmnst'n");char a5='C','h','i','n','a'fo

7、r(int 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");floati,j;scanf("%f"

8、,&i);j=5*(i-32)/9;printf("%.1fn",j);return 0;9 .编写程序,输入两个实数,按代数值由大到小的顺序输出这两个实数。#include<stdio.h>int main()printf("将两个实数从大到小排列n");floati,j;scanf("%f%f",&i,&j);if(i>j)printf("输出£ %fn",i,j);elseprintf("输出£ %fn",j,i);return

9、 0;10 .编写程序,从键盘输入两个整数,输出其中较小的数。#include<stdio.h>int main()printf("输出较小的数n");inti,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",i

11、);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;当-5WxW5时,f(x)=x*x

12、; 当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年的一个月份,输出该月有多少天。 (使用switch语句实现)#include<

13、stdio.h> int main() printf("输入月份 n");intmonth,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 11: day=30; printf(&

14、quot;%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 .编写程序,编写程序,根据输入的学生成绩输出相应的等级。90分以上(包括90分)为A等,8089

15、分为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)printf("%d 是 Cn"

16、,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",&i);if(i>=60)printf(

17、"您通过了 n");elseprintf("您没通过 n");return 0;18 .编写程序,输入3个整数x、v、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("最小值是 dn",min);return 0;19 .编写程

18、序,输入三角形的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");floata,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(&qu

19、ot;不能构成三角形n");elses=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",&i); if(i%35=0) printf("yes'n");elseprint

20、f("non");return 0;21 .编写程序,编程实现以下功能:读入两个运算数( data1和data2)及一个运算符(op), 计算表达式data1 op data2的值,其中op可为+,?,*,/(执行除法运算时假设 data2不为0, 用switch语句实现)。#include<stdio.h>int main()char op;float data1,data2;printf("请输入两个数字n");scanf("%f%c%f",&data1,&op,&data2);switch(o

21、p)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'/':printf("%f/%f=%.2fn",data1,data2,data1

22、/data2);break;return 0;22 .编写程序,编写程序,输入任意一个17之间的整数,将他们转换成对应的表示星期几的英文单词。例如:1转换成Monday, 7转换成Sunday。(使用switch语句实现)#include<stdio.h>int main() printf("请输入1至7之间任意整数n");int i;scanf("%d",&i);switch(i) case 1:printf("Mondayn");break;case 2:printf("Tuesdayn")

23、;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 .输出小写字母的ascii码对照表。#include<stdio.h>int main()printf("输出小写字

24、母的 ascii码n");charch;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 s10;printf("请输入一行不超过十个字的字符串:n");gets(s);while(i<10)(if(si>

25、;='0'&&si<='9')(a+;)else if(si>='a'&&si<='z')|(si>='A'&&si<='Z') (b+;)else if(si='')(c+;)else(d+;)i+;)printf("数字的个数是dn",a);printf("字母的个数是dn",b);printf("空格的个数是dn",c);printf(&qu

26、ot;其他符号白肉个数是%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+i)printf("$");elseprintf(""); )printf("n");)return 0; )26 .求 s=1+(1+2)+(1+2+3)+ +

27、(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("输出 sum=%dn",sum);return 0; )27 .计算10!#include<stdio.h>int main() int i=1,a=1;for(

28、i=1;i<=10;i+)a=a*i;printf("%dn",a);return 0;)28 .输出所有的“水仙花数”,所谓“水仙花数”是指一个 3位数,其各位数字立方和等于该 数本身。例如,153是一个水仙花数,因为 153=1A3+5A3+3A3 o#include<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

29、*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=94)printf("鸡有d 只,兔子有 d 只n",x,y);return 0;30 .编程找10个数中的最大数以及该数在数组中的位置

30、。#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("第 位 n",k);printf("最小是 %dn",max);return 0;31 .编程找10个数中的最小数以及该数在数组中的位置。#includ

31、e<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("第 位 n",k);printf("最小是 %dn",min);return 0;32 .编程将一个数组中的元素按逆序存放。#include<stdio.h>

32、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 .编程方t算Fibonacci数列白前50项,并把结果存放在一个数组中。(Fibonacci数列前两项的值是1。从第3项开始,其值为前两项之和。)#include<stdio.h>intmain()

33、(int a50=0,1;for(int i=2;i<50;i+)ai=ai-1+ai-2;for(i=0;i<50;i+)printf("%付",ai);printf("n");return 0;34 .编写程序,将两个字符串连接起来(不使用strcat函数)。#include<stdio.h>int main()(int i=0,j=0;printf("将两个字符串连接起来n");char ch1100,ch2100;printf("输入第一个字符串:");gets(ch1);print

34、f("输入第二个字符串:");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("n");return 0;)35 .有一个2行3列的矩阵,编程找出值最小的元素的值以及它所在的行列号。#include<stdio.h&

35、gt;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=l+1;printf("%d'n",min);printf("第 行,第 %d 列 n",x,y);retur

36、n 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("第一个人平均分是%.2fn 第二个人平均分是%.2fn 第三个人平均分 是.2加”,h0、1、2);return 0;37 .编程输出杨

37、辉三角中的前10行。11 11 2 113 3 1#include<stdio.h>int main()printf("n");int a1010=1,1,1,i,j;for(i=0;i<10;i+)a皿0=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、38.编写一个函数,输入立方体的长、宽、高,输出立方体的体积。#include<stdio.h>int V(inti,intj,int k);int main()inta,b,c;printf("输入长方体的长宽高n");scanf("%d%d%d",&a,&b,&c);printf("体积是 %dn",V(a,b,c);return 0;int V(inti,intj,int k)int v=i*j*k;return v;39 .输入两个整数,要求输出其中值较大者。用函数实现找大数。#includ

39、e<stdio.h>int MAX(inti,int j);int main()inta,b;printf("输入两个整数n");scanf("%d%d",&a,&b);printf("最大数是 dn",MAX(a,b);return 0;int MAX(inti,int j)int v=i>j?i:j;return v;40 .编写一个函数,用递归方法求 n!,调用该函数求 m!/(n!*(m-n)!)的值并输出。#include<stdio.h>float X(int n);int m

40、ain() intm,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个整数按由小到大排序。#include<stdio.h>intpailie(int a10,int n);int main() for(int i=0;i<=9;i+) scanf("

41、;%d”,&ai);return 0;intpailie(int a10,int n)(不会)42 .编写一个函数,求一个 3X4的矩阵所有元素之和。#include<stdio.h>43 .编写求圆的面积的函数,并调用该函数求出圆的面积。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.1415

42、9265 s=r*r*PI;return s;44 .编写一个函数,该函数的功能是判断一个整数是不是素数(所谓素数是指除了1和它本身以外,不能被任何整数整除的数),在main函数中输入一个整数,调用该函数,判断该数 是不是素数,若是则输出“yes”,否则输出“ no”。#include<stdio.h>intj();int main() printf("请输入一个数:n");j();return 0; int j()int n;scanf("%d",&n);if(n=1&&n=2)printf("%d 是素数

43、 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 i);int main()printf("输出2000至2100之间的闰年:n");for(int a=2000;a<=2100;a+)RUN

44、(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(inta,int b);int MIN(inta,int b);int main()printf("请输入两个数求最大公约数和最小公倍数n");intx,y;scanf("%d%d",&x,&y);printf("最大公Z数是 %d ,最小公倍数是 dn",MAX(x,y),MIN(x,y);return 0;int MAX(in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论