c语言编程大题.docx
《c语言编程大题.docx》由会员分享,可在线阅读,更多相关《c语言编程大题.docx(33页珍藏版)》请在冰豆网上搜索。
c语言编程大题
三、编程题
1.输入一个半径值,分别计算圆周长、圆面积和球的体积。
要求使用符号常量定义圆周率。
#include
intmain()
{
printf("计算圆周长面积求面积\n");
floatr,c,s,v;
scanf("%f",&r);
c=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
intmain()
{
printf("今天是星期三,20天后是星期几?
\n");
inti;
i=23%7;
printf("20天后是星期%d\n",i);
return0;
}
3.从键盘输入一个字符,尔后将其按字符和整数这两种形式输出。
#include
intmain()
{
printf("输入一个字符\n");
chari;
scanf("%c",&i);
printf("整数形式是%d\n",i);
printf("字母形式是%c\n",i);
return0;
}
4.输入一个大写英文字母,将它转变为小写输出。
#include
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
#include
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
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
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.有人用温度计测量出用华氏法表示的温度,现输入华氏温度表示的温度c并输出。
(c=5/9(f-32))
f,要求把它变换为以摄氏法
#include
intmain()
{
printf("
printf("
把华氏温度变换为摄氏温度
请输入华氏温度:
\n");
\n");
floati,j;
scanf("%f",&i);
j=5*(i-32)/9;
printf("%.1f\n",j);
return0;
}
9.编写程序,输入两个实数,按代数值由大到小的序次输出这两个实数。
#include
intmain()
{
printf("将两个实数从大到小排列\n");
floati,j;
scanf("%f%f",&i,&j);
if(i>j)
printf("输出%f%f\n",i,j);
else
printf("输出%f%f\n",j,i);
return0;
}
10.编写程序,从键盘输入两个整数,输出其中较小的数。
#include
intmain()
{
printf("输出较小的数\n");
inti,j;
scanf("%d%d",&i,&j);
if(iprintf("%d\n",i);
else
printf("%d\n",j);
return0;
}
11.编写程序,输入一个不多于5位的正整数,输出该正整数是几位数。
#include
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
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
intmain()
{
inti;
scanf("%d",&i);
if(i<-5)
printf("%d\n",-i+5);
if(-5<=i&&i<=5)
printf("%d\n",i*i);
else
printf("%d\n",6*i-10);
return0;
}
14.编写程序,输入2015年的一个月份,输出该月有多少天。
(使用switch语句实现)
#include
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
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分)为
等,80~89分为B等,70~79分为C等,60~69分为D等,60分以下为E等。
#include
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);
else
printf("%d是E\n",i);
return0;
}
17编写程序,输入一个百分制成绩,若大于等于
若小于60,则输出“对不起!
您的成绩未经过!
(要求成绩只能是整数)
”
60,则输出“恭贺!
您的成绩经过了!
”,
#include
intmain()
{
printf("请输入您的成绩\n");
inti;
scanf("%d",&i);
if(i>=60)
printf("您经过了\n");
else
printf("您没经过\n");
return0;
}
18.编写程序,输入3个整数x、y、z,输出其中最小值。
#include
intmain()
{
printf("输出最小值\n");
intx,y,z,min1,min;
scanf("%d%d%d",&x,&y,&z);
min1=xy;
min=min1z;
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
#include
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");
else
{
s=sqrt(d*(d-a)*(d-b)*(d-c));
printf("
面积是
%.2f\n",s);
}
return0;
}
20.编写程序,试编程判断输入的正整数可否既是
则输出no。
5又是
7的整倍数。
若是,则输出
yes,否
#include
intmain()
{
printf("
判断一个正整数可否既是
5又是
7的倍数
\n");
inti;
scanf("%d",&i);
if(i%35==0)
printf("yes\n");
else
printf("no\n");
return0;
}
21.编写程序,编程实现以下功能:
读入两个运算数(data1和data2)及一个运算符(
计算表达式data1opdata2的值,其中op可为+,,*,/(执行除法运算时假设data2不为
用switch语句实现)。
op),
0,
#include
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
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
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
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++;
}
else
{
d++;
}
i++;
}
printf("数字的个数是%d\n",a);
printf("字母的个数是%d\n",b);
printf("空格的个数是%d\n",c);
printf("其他符号的个数是%d\n",d);
return0;
}
25.输出图形
$
$$$
$$$$$
$$$$$$$
#include
#include
intmain()
{
for(inti=0;i<=3;i++)
{
for(intj=1;j<=7;j++)
{
if(j>=fabs(4-i)&&j<=fabs(4+i))
printf("$");
else
printf("");
}
printf("\n");
}
return0;
}
26.求s=1+(1+2)+(1+2+3)+⋯+(1+2+3+⋯+n),要求n从入。
#include
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
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
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
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
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{
max=a[j];
k=j+1;
}
}
printf("第%d位\n",k);
printf("最小是%d\n",max);
return0;
}
31.编程找10个数中的最小数以及该数在数组中的地址。
#include
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
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
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
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
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
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"