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

下载本文档

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

文档简介

第页三、编程题1.输入一个半径值,分别计算圆周长、圆面积和球的体积。要求使用符号常量定义圆周率。#include<stdio.h>intmain()printf("计算圆周长面积求面积\n");floatr,c,s,v;scanf("%f",&r);#definePI3.14159265c=2*PI*r;s=4*PI*r*r;v=4/3*PI*r*r*r;printf("周长是%.2f\n",c);printf("表面积是%.2f\n",s);printf("体积是%.2f\n",v);return0;2.假设今天是星期三,编程求20天之后是星期几?#include<stdio.h>intmain()printf("今天是星期三,20天后是星期几?\n");inti;i=23%7;printf("20天后是星期%d\n",i);return0;3.从键盘输入一个字符,然后将其按字符和整数这两种形式输出。#include<stdio.h>intmain()printf("输入一个字符\n");chari;scanf("%c",&i);printf("整数形式是%d\n",i);printf("字母形式是%c\n",i);return0;4.输入一个大写英文字母,将它转化为小写输出。#include<stdio.h>intmain() printf("请输入一个大写英文字母\n"); charch; scanf("%c",&ch); printf("%c\n",ch+32);return0; 5.求一元二次方程ax^2+bx+c=0方程的两个实根。a、b、c由键盘输入。(默认b*b-4*a*c>=0)#include<stdio.h>#include<math.h>intmain() printf("求两个实数根\n");floatx1,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("%.2f\n",x1); printf("%.2f\n",x2);return0; 6.输入长方形的长和宽,编程求该长方形的周长和面积#include<stdio.h>intmain() printf("输入长和宽\n"); inta,b,c,s;scanf("%d%d",&a,&b);c=2*(a+b);s=a*b;printf("周长是%d\n",c);printf("面积是%d\n",s);return0; 7.要将“China”译成密码,译码规律是:用原来字母后面的第5个字母代替原来的字母。例如,字母“A”后面第5个字母是“F”,用“F”代替“A”。因此,“China”应译为“Hmnsf”。请编写程序,用赋初值的方法使c1、c2、c3、c4、c55个变量的值分别为‘C’、‘h’、‘i’、‘n’、‘a’,经过运算,使c1、c2、c3、c4、c5分别变为‘H’、‘m’、‘n’、‘s’、‘f’并输出。#include<stdio.h>intmain()printf("China到Hmnst\n");chara[5]={'C','h','i','n','a'};for(inti=0;i<=5;i++)a[i]=a[i]+5;for(intj=0;j<=5;j++)printf("%c",a[j]);printf("\n");return0; 8.有人用温度计测量出用华氏法表示的温度,现输入华氏温度f,要求把它转换为以摄氏法表示的温度c并输出。(c=5/9(f-32))#include<stdio.h>intmain()printf("把华氏温度转换为摄氏温度\n");printf("请输入华氏温度:\n");floati,j;scanf("%f",&i);j=5*(i-32)/9;printf("%.1f\n",j);return0;9.编写程序,输入两个实数,按代数值由大到小的顺序输出这两个实数。#include<stdio.h>intmain()printf("将两个实数从大到小排列\n");floati,j;scanf("%f%f",&i,&j);if(i>j)printf("输出%f%f\n",i,j);elseprintf("输出%f%f\n",j,i);return0;10.编写程序,从键盘输入两个整数,输出其中较小的数。#include<stdio.h>intmain()printf("输出较小的数\n");inti,j;scanf("%d%d",&i,&j);if(i<j)printf("%d\n",i);elseprintf("%d\n",j);return0;11.编写程序,输入一个不多于5位的正整数,输出该正整数是几位数。#include<stdio.h>intmain()printf("输入一个不多于5位数的正整数\n");inti;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);return0;12.编写程序,不使用系统提供的数学函数,编写程序求一个实数的绝对值。#include<stdio.h>intmain()printf("求一个实数的绝对值\n");inti;scanf("%d",&i);if(i>=0)printf("绝对值是%d\n",i);if(i<0)printf("绝对值是%d\n",-i);return0;13.编写程序,编写程序实现如下分段函数。当x<-5时,f(x)=|x|+5;当-5≤x≤5时,f(x)=x*x;当x>5时,f(x)=6x-10。(x定义成实型数据)#include<stdio.h>intmain()inti;scanf("%d",&i);if(i<-5)printf("%d\n",-i+5);if(-5<=i&&i<=5)printf("%d\n",i*i);elseprintf("%d\n",6*i-10);return0;14.编写程序,输入2019年的一个月份,输出该月有多少天。(使用switch语句实现)#include<stdio.h>intmain()printf("输入月份\n");intmonth,day;scanf("%d",&month);switch(month)case2:day=28;printf("%d\n",day);break;case1:case3:case5:case7:case8:case10:case12:day=31;printf("%d\n",day);break;case4:case6:case9:case11:day=30;printf("%d\n",day);break;return0;15.编写程序,判断某一年是否是闰年。#include<stdio.h>intmain()printf("判断某一年是否为闰年\n");inti;scanf("%d",&i);if(i%4==0)printf("%d是闰年\n",i);if(i%4!=0)printf("%d是平年\n",i);return0;16.编写程序,编写程序,根据输入的学生成绩输出相应的等级。90分以上(包括90分)为A等,80~89分为B等,70~79分为C等,60~69分为D等,60分以下为E等。#include<stdio.h>intmain()printf("求学生成绩相应的等级\n");inti;scanf("%d",&i);if(i>=90)printf("%d是A\n",i);elseif(i<90&&i>=80)printf("%d是B\n",i);elseif(i<80&&i>=70)printf("%d是C\n",i);elseif(i<70&&i>=60)printf("%d是D\n",i);elseprintf("%d是E\n",i);return0;17编写程序,输入一个百分制成绩,若大于等于60,则输出“恭喜!您的成绩通过了!”,若小于60,则输出“抱歉!您的成绩未通过!”(要求成绩只能是整数)#include<stdio.h>intmain() printf("请输入您的成绩\n");inti;scanf("%d",&i);if(i>=60)printf("您通过了\n");elseprintf("您没通过\n");return0;18.编写程序,输入3个整数x、y、z,输出其中最小值。#include<stdio.h>intmain() printf("输出最小值\n");intx,y,z,min1,min;scanf("%d%d%d",&x,&y,&z);min1=x<y?x:y;min=min1<z?min1:z;printf("最小值是%d\n",min);return0;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>intmain() 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");elses=sqrt(d*(d-a)*(d-b)*(d-c));printf("面积是%.2f\n",s);return0;20.编写程序,试编程判断输入的正整数是否既是5又是7的整倍数。若是,则输出yes,否则输出no。#include<stdio.h>intmain() printf("判断一个正整数是否既是5又是7的倍数\n"); inti; scanf("%d",&i); if(i%35==0) printf("yes\n"); else printf("no\n");return0;21.编写程序,编程实现以下功能:读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1opdata2的值,其中op可为+,?,*,/(执行除法运算时假设data2不为0,用switch语句实现)。#include<stdio.h>intmain()charop;floatdata1,data2;printf("请输入两个数字\n");scanf("%f%c%f",&data1,&op,&data2);switch(op)case'+':printf("%f+%f=%.2f\n",data1,data2,data1+data2);break;case'-':printf("%f-%f=%.2f\n",data1,data2,data1-data2);break;case'*':printf("%f*%f=%.2f\n",data1,data2,data1*data2);break;case'/':printf("%f/%f=%.2f\n",data1,data2,data1/data2);break;return0;22.编写程序,编写程序,输入任意一个1~7之间的整数,将他们转换成对应的表示星期几的英文单词。例如:1转换成Monday,7转换成Sunday。(使用switch语句实现)#include<stdio.h>intmain()printf("请输入1至7之间任意整数\n");inti;scanf("%d",&i);switch(i)case1:printf("Monday\n");break;case2:printf("Tuesday\n");break;case3:printf("Wednesday\n");break;case4:printf("Thursday\n");break;case5:printf("Friday\n");break;case6:printf("Saturday\n");break;case7:printf("Sunday\n");break;return0;23.输出小写字母的ascii码对照表。#include<stdio.h>intmain()printf("输出小写字母的ascii码\n");charch;ch='a';for(inti=0;i<=25;i++)printf("%c:%d\t",ch+i,ch+i);printf("\n");return0;24.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#include<stdio.h>main()inta=0,b=0,c=0,d=0,i=0;chars[10];printf("请输入一行不超过十个字的字符串:\n");gets(s);while(i<10)if(s[i]>='0'&&s[i]<='9')a++;elseif((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))b++;elseif(s[i]=='')c++; elsed++;i++;printf("数字的个数是%d\n",a);printf("字母的个数是%d\n",b);printf("空格的个数是%d\n",c);printf("其他符号的个数是%d\n",d);return0;25.输出图形#include<stdio.h>#include<math.h>intmain()for(inti=0;i<=3;i++)for(intj=1;j<=7;j++)if(j>=fabs(4-i)&&j<=fabs(4+i))printf("$");elseprintf("");printf("\n");return0;26.求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n),要求n从键盘输入。#include<stdio.h>main()intsum=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=%d\n",sum);return0;27.计算10!#include<stdio.h>intmain()inti=1,a=1;for(i=1;i<=10;i++)a=a*i;printf("%d\n",a);return0;28.输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为153=1^3+5^3+3^3。#include<stdio.h>intmain()printf("输出所有的水下花数\n");for(inti=1;i<=9;i++)for(intj=0;j<=9;j++)for(intk=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");return0;29.鸡兔同笼,上数共有35个头,下有94只脚,鸡、兔各有几只?#include<stdio.h>intmain()for(intx=0;x<=35;x++)for(inty=0;y<=35;y++)if((x+y==35)&&(2*x+4*y==94))printf("鸡有%d只,兔子有%d只\n",x,y);return0;30.编程找10个数中的最大数以及该数在数组中的位置。#include<stdio.h>intmain() printf("找10个数中最大数极其所在位置\n");inta[10],max;for(inti=0;i<=9;i++)scanf("%d",&a[i]);max=a[0];for(intj=1,intk=0;j<=9;j++)if(max<a[j])max=a[j];k=j+1;printf("第%d位\n",k);printf("最小是%d\n",max);return0;31.编程找10个数中的最小数以及该数在数组中的位置。#include<stdio.h>intmain() printf("找10个数中最小数极其所在位置\n");inta[10],min;for(inti=0;i<=9;i++)scanf("%d",&a[i]);min=a[0];for(intj=1,intk=0;j<=9;j++)if(min>a[j])min=a[j];k=j+1;printf("第%d位\n",k);printf("最小是%d\n",min);return0;32.编程将一个数组中的元素按逆序存放。#include<stdio.h>intmain() printf("一个数组按照逆序存放\n");inta[10],b[10];for(inti=0;i<=9;i++)scanf("%d",&a[i]);for(intj=0;j<=9;j++)b[j]=a[9-j];printf("%d",b[j]);printf("\n");return0;33.编程计算Fibonacci数列的前50项,并把结果存放在一个数组中。(Fibonacci数列前两项的值是1。从第3项开始,其值为前两项之和。)#include<stdio.h>intmain()inta[50]={0,1};for(inti=2;i<50;i++)a[i]=a[i-1]+a[i-2];for(i=0;i<50;i++)printf("%f\t",a[i]);printf("\n");return0;34.编写程序,将两个字符串连接起来(不使用strcat函数)。#include<stdio.h>intmain() inti=0,j=0;printf("将两个字符串连接起来\n");charch1[100],ch2[100];printf("输入第一个字符串:");gets(ch1);printf("输入第二个字符串:");gets(ch2);while(ch1[i]!='\0')i++;while(ch1[j]!='\0')j++;for(intk=i;k<=i+j-1;k++)ch1[k]=ch2[k-i];printf("连接后为:");for(intl=0;l<=i+j-1;l++)printf("%c",ch1[l]);printf("\n");return0;35.有一个2行3列的矩阵,编程找出值最小的元素的值以及它所在的行列号。#include<stdio.h>intmain() printf("找到最小元素的值极其位置\n");inta[2][3],min,x,y;for(inti=0;i<=1;i++)for(intj=0;j<=2;j++)scanf("%d",&a[i][j]);min=a[0][0];for(intm=0;m<=1;m++)for(intl=0;l<=2;l++)if(min>a[m][l])min=a[m][l];x=m+1;y=l+1;printf("%d\n",min);printf("第%d行,第%d列\n",x,y);return0;36.一个学习小组有3个人,每人有4门课的成绩。计算每个人的平均成绩。#include<stdio.h>intmain() printf("分别计算每个人的平均数\n");floata[3][4],v[3],s=0;for(intm=0;m<=2;m++)for(intl=0;l<=3;l++) scanf("%f",&a[m][l]);s=s+a[m][l];v[m]=s/4;s=0;printf("第一个人平均分是%.2f\n第二个人平均分是%.2f\n第三个人平均分是%.2f\n",v[0],v[1],v[2]);return0;37.编程输出杨辉三角中的前10行。111121133114641#include<stdio.h>intmain()printf("\n");inta[10][10]={{1},{1,1}},i,j;for(i=0;i<10;i++)a[i][0]=1;for(i=2;i<10;i++)for(j=1;j<10;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=0;i<10;i++) for(j=0;j<=i;j++) printf("%d\t",a[i][j]); printf("\n");printf("\n"); return0;38.编写一个函数,输入立方体的长、宽、高,输出立方体的体积。#include<stdio.h>intV(inti,intj,intk);intmain()inta,b,c;printf("输入长方体的长宽高\n");scanf("%d%d%d",&a,&b,&c);printf("体积是%d\n",V(a,b,c));return0;intV(inti,intj,intk)intv=i*j*k;returnv;39.输入两个整数,要求输出其中值较大者。用函数实现找大数。#include<stdio.h>intMAX(inti,intj);intmain()inta,b;printf("输入两个整数\n");scanf("%d%d",&a,&b);printf("最大数是%d\n",MAX(a,b));return0;intMAX(inti,intj) intv=i>j?i:j;returnv;40.编写一个函数,用递归方法求n!,调用该函数求m!/(n!*(m-n)!)的值并输出。#include<stdio.h>floatX(intn);intmain() intm,n; scanf("%d%d",&m,&n);printf("resultis%.3f\n",X(m)/X(n)/X(m-n));return0;floatX(intn)inti=1,a=1;for(i=1;i<=n;i++)a=a*i;returna;41.编写一个函数,实现用选择法对数组中10个整数按由小到大排序。#include<stdio.h>intpailie(inta[10],intn);intmain()for(inti=0;i<=9;i++)scanf("%d",&a[i]);return0;intpailie(inta[10],intn)(不会)42.编写一个函数,求一个3×4的矩阵所有元素之和。43.编写求圆的面积的函数,并调用该函数求出圆的面积。#include<stdio.h>floatS(intr);intmain()printf("计算圆的面积\n");inti;scanf("%d",&i);printf("面积是%.2f\n",S(i));return0;floatS(intr) floats;#definePI3.14159265s=r*r*PI;returns;44.编写一个函数,该函数的功能是判断一个整数是不是素数(所谓素数是指除了1和它本身以外,不能被任何整数整除的数),在main函数中输入一个整数,调用该函数,判断该数是不是素数,若是则输出“yes”,否则输出“no”。#include<stdio.h>intj();intmain()printf("请输入一个数:\n");j();return0;intj()intn;scanf("%d",&n);if(n==1&&n==2)printf("%d是素数\n",n);for(inti=2;i<=n;i++)if(n%i==0)break;if(i<n)printf("%d是合数\n",n);elseprintf("%d是素数\n",n);return0;45.编写判定闰年的函数,并调用此函数求出公元2000年到公元2100年之间的所有闰年。#include<stdio.h>intRUN(inti);intmain()printf("输出2000至2100之间的闰年:\n");for(inta=2000;a<=2100;a++)RUN(a);printf("\n");return0;intRUN(inti)intj;if(i%4==0)printf("%d",i);return0;46.编写两函数分别求两个个整数的最大公约数和最小公倍数,用主函数调用两个函数并输出结果,两个整数由键盘输入。#include<stdio.h>intMAX(inta,intb);intMIN(inta,intb);intmain() printf("请输入两个数求最大公约数和最小公倍数\n");intx,y;scanf("%d%d",&x,&y);printf("最大公约数是%d,最小公倍数是%d\n",MAX(x,y),MIN(x,y));return0;intMAX(inta,intb) for(inti=(a<b?a:b);i>=1;i--) if(a%i==0&&b%i==0) break;returni;intMIN(inta,intb)for(intj=(a>b?a:b);

温馨提示

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

评论

0/150

提交评论