C语言题库及答案.doc
文本预览下载声明
第一题汇总
1 要求输入整数a和b,若a*a+b*b大于100,则输出a*a+b*b百位以上的数字,否则输出两数之和a+b。
#includestdio.h
main()
{
int a,b,m,n,sum;
printf(please put in ab:);
scanf(%d,%d,a,b);
if (a*a+b*b100)
{
m=a*a+b*b;
n=m/100;
printf(%d*%d+%d*%d百位以上的数字为%d\n,a,a,b,b,n);
}
else
{
sum=a+b;
printf(两数之和为%d\n,sum);
}
}
2 根据以下函数关系:当x=0,y=0;当0x=10,y=x;当10x=20,y=10;当x20,y=sin(x);输入一个x值,计算出相应的y值并输出。(提示:sin(x)属于math.h)
#includestdio.h
#includemath.h
main()
{
float x,y;
printf(please put in x:);
scanf(%f,x);
if (x=0)
y=0;
else if (x=10)
y=x;
else if (x=20)
y=10;
else
y=sin(x);
printf(y=%f,y);
}
3 输入三个正整数x,y,z,将这三个数由小到大输出
main(){int x,y,z,t;scanf(%d%d%d,x,y,z);if (xy){t=x;x=y;y=t;} /*交换x,y的值*/if(xz){t=z;z=x;x=t;}/*交换x,z的值*/if(yz){t=y;y=z;z=t;}/*交换z,y的值*/printf(small to big: %d %d %d\n,x,y,z);}
#includestdio.hmain(){ int y;scanf(%d,y);if(y%400==0||y%4==0y%100!=0) printf(Yes.\n);else printf(No.\n);}
5 编程实现四位电话号码的升位。原来电话号码为1、3、5、7、9打头的号码前加2,原来电话号码为2、4、6、8打头的加3,例如:输入1234,则输出:21234。
6 输入3个正整数,判断能否组成三角形,如果能够组成三角形,则输出三角形的面积,否则输出错误。三角形面积公式:area=sqrt(s(s-a)(s-b)(s-c)),其中s=1/2(a+b+c)。(提示:sqrt(x)属于math.h)
#includestdio.h
#includemath.h
main()
{
int a,b,c;
printf(请输入三边边长:);
scanf(%d,%d,%d,a,b,c);
if (a+bca+cbb+ca)
{
float s,area;
s=(a+b+c)/2.0;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(三角形面积为%f,area);
}
else
printf(输出错误);
}
7 判定用户输入一个不大于999的正整数是否为一个回文数。回文数是指正读和反读都相同的数。
main( ){long ge,bai ,x;scanf(%ld,x);bai=x/100;ge=x%10;if (ge==bai) printf(this number is a huiwen\n);else printf(this number is not a huiwen\n);}
8 从键盘输入一个两位数的正整数a,将其转换形成一个整数b并输出b。转换的方式是:将a中较大的数码作为b的十位,剩余的数码作为b的个位。例如,当输入a=49,则结果b=94。
#includestdio.h
main()
{
int a,b,x,y;
printf(please input a number );
scanf(%d,a);
if(9aa100)
{
x=a/10;
y=a%10;
if(x=y)
{
b=a;
}
else
{
b=10*y+x;
}
printf(the result is %d,b);
}
else
printf(a wrong number);
}
9 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
#include stdio.h#include math.hi
显示全部