c语言编程大题_c语言经典编程题
c语言编程大题由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言经典编程题”。
三、编程题
1.输入一个半径值,分别计算圆周长、圆面积和球的体积。要求使用符号常量定义圆周率。#include 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(“体积是%.2fn”,v);return 0;} 2.假设今天是星期三,编程求20天之后是星期几? #include int main(){ printf(“今天是星期三,20天后是星期几?n”);int i;i=23%7;printf(“20天后是星期%dn”,i);return 0;} 3.从键盘输入一个字符,然后将其按字符和整数这两种形式输出。#include int main(){ printf(“输入一个字符n”);char i;scanf(“%c”,&i);printf(“整数形式是%dn”,i);printf(“字母形式是%cn”,i);return 0;} 4.输入一个大写英文字母,将它转化为小写输出。#include int main(){ printf(“请输入一个大写英文字母n”);charch;scanf(“%c”,&ch);printf(“%cn”,ch+32);return 0;} 5.求一元二次方程ax^2+bx+c=0方程的两个实根。a、b、c由键盘输入。(默认b*b-4*a*c>=0)#include #include 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 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”应译为“Hmnsf”。请编写程序,用赋初值的方法使c1、c2、c3、c4、c5 5个变量的值分别为‘C’、‘h’、‘i’、‘n’、‘a’,经过运算,使c1、c2、c3、c4、c5分别变为‘H’、‘m’、‘n’、‘s’、‘f’并输出。
#include int main(){ printf(“China到Hmnstn”);char a[5]={'C','h','i','n','a'};for(int i=0;i int main(){ printf(“把华氏温度转换为摄氏温度n”);printf(“请输入华氏温度:n”);floati,j;scanf(“%f”,&i);j=5*(i-32)/9;printf(“%.1fn”,j);return 0;} 9.编写程序,输入两个实数,按代数值由大到小的顺序输出这两个实数。#include int main(){ printf(“将两个实数从大到小排列n”);floati,j;scanf(“%f%f”,&i,&j);if(i>j)printf(“输出%f %fn”,i,j);else printf(“输出%f %fn”,j,i);return 0;} 10.编写程序,从键盘输入两个整数,输出其中较小的数。#include int main(){ printf(“输出较小的数n”);inti,j;scanf(“%d%d”,&i,&j);if(i int main(){ printf(“输入一个不多于5位数的正整数n”);int i;scanf(“%d”,&i);if(i>0&&i=10&&i=100&&i=1000&&i int main(){ printf(“求一个实数的绝对值n”);int i;scanf(“%d”,&i);if(i>=0)printf(“绝对值是%dn”,i);if(i5时,f(x)=6x-10。(x定义成实型数据)#include int main(){ int i;scanf(“%d”,&i);if(i 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(“%dn”,day);break;} return 0;} 15.编写程序,判断某一年是否是闰年。#include 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等,80~89分为B等,70~79分为C等,60~69分为D等,60分以下为E等。#include int main(){ printf(“求学生成绩相应的等级n”);int i;scanf(“%d”,&i);if(i>=90)printf(“%d是An”,i);else if(i=80)printf(“%d是Bn”,i);else if(i=70)printf(“%d是Cn”,i);else if(i=60)printf(“%d是Dn”,i);else printf(“%d是En”,i);return 0;} 17编写程序,输入一个百分制成绩,若大于等于60,则输出“恭喜!您的成绩通过了!”,若小于60,则输出“抱歉!您的成绩未通过!”(要求成绩只能是整数)#include int main(){ printf(“请输入您的成绩n”);int i;scanf(“%d”,&i);if(i>=60)printf(“您通过了n”);else printf(“您没通过n”);return 0;} 18.编写程序,输入3个整数x、y、z,输出其中最小值。#include int main(){ printf(“输出最小值n”);int x,y,z,min1,min;scanf(“%d%d%d”,&x,&y,&z);min1=x
(s=(a+b+c)/2,三角形面积area=sqrt(s(s-a)(s-b)(s-c)))#include #include 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(“不能构成三角形n”);else { s=sqrt(d*(d-a)*(d-b)*(d-c));printf(“面积是%.2fn”,s);} return 0;} 20.编写程序,试编程判断输入的正整数是否既是5又是7的整倍数。若是,则输出yes,否则输出no。
#include int main(){ printf(“判断一个正整数是否既是5又是7的倍数n”);int i;scanf(“%d”,&i);if(i%35==0)
printf(“yesn”);else
printf(“non”);return 0;} 21.编写程序,编程实现以下功能:读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1 op data2的值,其中op可为+,?,*,(/执行除法运算时假设data2不为0,用switch语句实现)。#include 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-data2);break;case'*':printf(“%f*%f=%.2fn”,data1,data2,data1*data2);break;case'/':printf(“%f/%f=%.2fn”,data1,data2,data1/data2);break;} return 0;} 22.编写程序,编写程序,输入任意一个1~7之间的整数,将他们转换成对应的表示星期几的英文单词。例如:1转换成Monday,7转换成Sunday。(使用switch语句实现)#include int 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”);break;case 6:printf(“Saturdayn”);break;case 7:printf(“Sundayn”);break;} return 0;} 23.输出小写字母的ascii码对照表。#include int main(){ printf(“输出小写字母的ascii码n”);charch;ch='a';for(int i=0;i main(){ int a=0,b=0,c=0,d=0,i=0;char s[10];printf(“请输入一行不超过十个字的字符串:n”);gets(s);while(i='0'&&s[i]='a'&&s[i]='A'&&s[i]
else if(s[i]==' '){ c++;}
else { d++;} i++;} printf(“数字的个数是%dn”,a);printf(“字母的个数是%dn”,b);printf(“空格的个数是%dn”,c);printf(“其他符号的个数是%dn”,d);return 0;} 25.输出图形
$
$$$
$$$$$
$$$$$$$ #include #include int main(){ for(int i=0;i=fabs(4-i)&&j 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
27.计算10!#include int main(){ int i=1,a=1;for(i=1;i int main(){ printf(“输出所有的水下花数n”);for(int i=1;i int main(){ for(int x=0;x int main(){ printf(“找10个数中最大数极其所在位置n”);int a[10],max;for(int i=0;i int main(){ printf(“找10个数中最小数极其所在位置n”);int a[10],min;for(int i=0;ia[j]){ min=a[j];k=j+1;} } printf(“第%d位n”,k);printf(“最小是%dn”,min);return 0;} 32.编程将一个数组中的元素按逆序存放。#include int main(){ printf(“一个数组按照逆序存放n”);int a[10],b[10];for(int i=0;i intmain(){ int a[50]={0,1};for(int i=2;i int main(){ int i=0,j=0;printf(“将两个字符串连接起来n”);char ch1[100],ch2[100];printf(“输入第一个字符串:”);gets(ch1);printf(“输入第二个字符串:”);gets(ch2);while(ch1[i]!=' ')i++;while(ch1[j]!=' ')j++;for(int k=i;k int main(){ printf(“找到最小元素的值极其位置n”);int a[2][3],min,x,y;for(int i=0;ia[m][l]){ min=a[m][l];x=m+1;y=l+1;} } } printf(“%dn”,min);printf(“第%d行,第%d列n”,x,y);return 0;} 36.一个学习小组有3个人,每人有4门课的成绩。计算每个人的平均成绩。#include int main(){ printf(“分别计算每个人的平均数n”);float a[3][4],v[3],s=0;for(int m=0;m
s=s+a[m][l];} v[m]=s/4;s=0;} printf(“第一个人平均分是%.2fn第二个人平均分是%.2fn第三个人平均分是%.2fn”,v[0],v[1],v[2]);return 0;} 37.编程输出杨辉三角中的前10行。1 1 1 1 2 1 1 3 3 1 1 4 6 4 1......#include int main(){ printf(“n”);int a[10][10]={{1},{1,1}},i,j;for(i=0;i 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.输入两个整数,要求输出其中值较大者。用函数实现找大数。#include 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 float X(int n);int main(){ 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 intpailie(int a[10],int n);int main(){ for(int i=0;i
return 0;} intpailie(int a[10],int n){(不会)} 42.编写一个函数,求一个3×4的矩阵所有元素之和。
43.编写求圆的面积的函数,并调用该函数求出圆的面积。#include 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.14159265 s=r*r*PI;return s;} 44.编写一个函数,该函数的功能是判断一个整数是不是素数(所谓素数是指除了1和它本身以外,不能被任何整数整除的数),在main函数中输入一个整数,调用该函数,判断该数是不是素数,若是则输出“yes”,否则输出“no”。#include 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 int RUN(int i);int main(){ printf(“输出2000至2100之间的闰年:n”);for(int a=2000;a int MAX(inta,int b);int MIN(inta,int b);int main(){ printf(“请输入两个数求最大公约数和最小公倍数n”);intx,y;scanf(“%d%d”,&x,&y);printf(“最大公约数是%d,最小公倍数是%dn”,MAX(x,y),MIN(x,y));return 0;} int MAX(inta,int b){ for(int i=(a=1;i--){
if(a%i==0&&b%i==0)
break;} return i;} int MIN(inta,int b){ for(int j=(a>b?a:b);j
break;} return j;} 47.编写判断回文的函数,并调用此函数判定一个字符串是否为回文。(回文字符串是指该字符串从左到右读和从右到左读完全一样。)#include #include int PANDUAN(char b[10]);int main(){ char a[10];gets(a);PANDUAN(a);return 0;} int PANDUAN(char b[]){ int j=strlen(b),i=0;while(b[i]==b[j-1-i]){ i++;} if(i==j)printf(“是回文字符串n”);else printf(“不是回文字符串n”);return 0;} 48.编写一个函数,在一个有序的数列中插入一个数。插入后,数列仍然维持有序。如果有相同的数,要插入在相同的数的后面。#include #include #include int CHARU(int b[100],int n);int main(){ int a[]={1,2,3,4,5,6};int x;printf(“请输入插入数字n”);scanf(“%d”,&x);CHARU(a,x);return 0;} int CHARU(int b[100],int n){ int j=sizeof(b)/sizeof(int),i;printf(“%dn”,j);for(i=0;i=b[i]&&n=i+2;k--)b[k]=b[k-1];b[i+1]=n;} else if(n>=b[j])b[j+1]=n;} for(i=0;i
49.编写一个函数,使给定的一个3×3的二维整型数组转置,即行列互换。#include int ZHIHUAN(int b[3][3]);int main(){ printf(“请输入一个3*3方阵n”);int a[3][3];for(int i=0;i
scanf(“%d”,&a[i][j]);} ZHIHUAN(a);return 0;} int ZHIHUAN(int b[3][3]){ int c[3][3],m,n;printf(“转置方阵为:n”);for(m=0;m
return 0;}