C语言 编程试题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1编程:要求输入整数a和b,若a*a+b*b大于100,则输出a*a+b*b百位以上的数字,否则输出两数之和a+b。
#include<stdio.h>
main()
{
int a,b,c;
printf("please input a=");
scanf("%d",&a);
printf("please input b=");
scanf("%d",&b);
if(a*a+b*b>100)
{
c=(a*a+b*b)/100;
printf("%d",c);
}
else
printf("%d\n",a+b);
}
2编程:根据以下函数关系:当x<=0,y=0;当0<x<=10,y=x;当10<x<=20,y=10;当x>20,y=sin(x);输入一个x值,计算出相应的y值并输出。(提示:sin(x)属于math.h)
#include<stdio.h>
#include<math.h>
main()
{
int x;
float y;
printf("please input x=");
scanf("%d",&x);
if(x<=0)
{
y=0;
}
else if((0<x)&&(x<=10))
{
y=x;
}
else if ((10<x)&&(x<=20))
{
y=10;
}
else
y=sin(x);
printf("%f\n",y);
}
3编程:根据以下函数关系:当x<x<=1,y=x;当1<x<=2,y=sqrt(x);当x>2,y=sin(x);输入一个x值,计算出相应的y值并输出。(提示:sin(x)、sqrt(x)属于math.h)参考2
4编程:输入三个正整数x,y,z,将这三个数由小到大输出。
#include<stdio.h>
#include<math.h>
main()
{
int a[3],i,max,j;
printf("please input the 3 numbers:");
for(i=0;i<3;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
if(a[j]>a[j+1])
{
max=a[j];
a[j]=a[j+1];
a[j+1]=max;
}
}
printf("the result is");
for(i=0;i<3;i++)
printf(" %d",a[i]);
printf("\n");
}
#include <stdio.h>
main()
{
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
t=a;a=b;b=t;
}
if(a>c)
{
t=a;a=c;c=t;
}
if(b>c)
{
t=b;b=c;c=t;
}
printf("The answer is:%d,%d,%d\n",a,b,c);
}
5编程:从键盘输入一个年号,判断该年号是否为闰年,并输出结果。闰年是能被4整除但不能被100整除;或能被100整除且能被400整除的年号。练习书上有,第一页
6编程实现四位电话号码的升位。原来电话号码为1、3、5、7、9打头的号码前加2,原来电话号码为2、4、6、8打头的加3,例如:输入1234,则输出:21234。
#include<stdio.h>
main()
{
long x,y;
printf("please input telephone number ");
scanf("%d",&x);
y=x/1000;
switch(y)
{
case 1:
case 3:
case 5:
case 7:
case 9:x=2*10000+x;break;
case 2:
case 4:
case 6:
case 8:x=3*10000+x;break;
}
printf("the result is %ld\n",x);
}
7编程实现四位电话号码的升位。原来电话号码为1、2、3、4、5打头的号码前加3,原来电话号码为6、7、8、9打头的加2,例如:输入1234,则输出:31234。参考6
8编程:已知分段函数:当x>10时,y=2*x+1;当1<x<=10时,y=5*(x+1)*(x-2);当x<=1时,y=1-2*x;从键盘输入x的值,计算y的值。参考2
9编程:输入3个正整数,判断能否组成三角形,如果能够组成三角形,则输出三角形的面积,否则输出错误。三角形面积公式:area=sqrt(s(s-a)(s-b)(s-c)),其中s=1/2(a+b+c)。(提示:sqrt(x)属于math.h)
#include<stdio.h>
#include<math.h>
main()
{
float x,y,z;
float area,s;
printf("please input:");
scanf("%f%f%f",&x,&y,&z);
if((x+y<=z)||(z+y<=x)||(x+z<=y))
printf("no\n");
else
{
s=(x+y+z)/2;