C语言编程题及答案85445Word下载.docx
《C语言编程题及答案85445Word下载.docx》由会员分享,可在线阅读,更多相关《C语言编程题及答案85445Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
a<
=9;
a++)
for(b=0;
b<
b++)
for(c=1;
c<
c++)
{x=100*a+10*b+c;
y=100*c+10*b+a;
if(x+y==1333)
x=%d,y=%d"
x,y);
}
4.(*)利用海伦公式求三角形面积,三边长a,b,c由键盘输入。
若输入的三边长不能构成
三角形,输出相应提示信息。
海伦公式如下:
其中s=(a+b+c)/2
三角形面积=
#include"
math.h"
{floata,b,c,s,area;
%f,%f,%f"
&
a,&
b,&
c);
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
if(a+b>
c&
&
a+c>
b&
b+c>
a)
area=%f"
area);
else
.1.
no"
);
5.(*)编程求出1!
+2!
+3!
+…+8!
+9!
+10!
的值并输出。
程序1:
{inti,j;
doublep=1,sum=0;
for(i=1;
i<
=10;
i++)
{for(j=1;
j<
=i;
j++)
p=p*i;
sum=sum+p;
p=1.0;
sum=%f"
sum);
程序2:
floatfac(n)
intn;
{floatf;
if(n<
0)printf("
0,error!
"
elseif(n==0||n==1)f=1;
elsef=fac(n-1)*n;
return(f);
main()
{inth,s=0,n;
=4;
{h=fac(n);
s=s+h;
s=1!
+...+10!
=%d\n"
s);
程序3:
{inti;
{p=p*i;
.2.
6.(*)从键盘输入两个整数,输出其和,差,积,商。
7.(**)输入若干个自然数,对奇数从大到小排序,对偶数从小到大排序,输出两种结果。
maxji(inta[],intn)
{inti,j,k,t;
for(i=0;
n-1;
{k=i;
for(j=i+1;
n;
if(a[k]<
a[j])k=j;
if(k!
=i)
{t=a[k];
a[k]=a[j];
a[j]=t;
}}
#defineN10
{intc[N],i,j;
N;
%d"
c[i]);
maxji(c,N);
for(i=N-1;
if(c[i]%2==0)
%5d"
\n"
if(c[i]%2!
=0)
8.(*)求出0~999之间的所有“水仙花数”并输出。
“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;
153=1+5+3,则153是一个“水仙花数”。
程序1:
{inti,j,k,a;
for(i=1;
for(j=0;
for(k=0;
k<
k++)
if(i*i*i+j*j*j+k*k*k==100*i+10*j+k)
printf("
%d%d%d\n"
i,j,k);
程序:
{intm,i,j,k,a;
for(m=101;
=999;
m++)
{i=m/100;
j=(m-m*100)/10;
.3.
k=m%10;
if(i*i*i+j*j*j+k*k*k==m)
%d\n"
m);
9.(*)试编程:
判断输入的正整数是否既是5,又是7的整数倍数。
若是则输出yes;
否
则输出no。
10.(*)已有函数调用语句c=add(a,b);
请编写aad函数,计算两个实数a和b的和,并返回和值。
11.(*)有人想将手中一张面值100元的人民币换成5元、1元、0.5元面值的零钱100张,以上三种面值的零钱至少有一张,问共有几种换法。
请编程实现。
{inti,j,k,n=0;
19;
for(j=1;
95;
for(k=1;
94;
if(5*i+j+0.5*k==100&
i+j+k==100)
{printf("
%d,%d,%d\n"
n++;
n);
12.(*)求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:
2+22+222+2222+22222
程序1:
{inti,a,n;
longsum=0,b=1,c=1;
scanf("
%d,%d"
n);
=n;
{longintsn=0,k=a;
inta,i,j;
a);
=5;
{k=10*k+a;
sn=sn+k;
%ld\n"
sn);
{sum+=a*c;
b*=10;
c+=b;
%ld"
{longintsn=0,k=0;
for(i=1;
{for(j=1;
k=10*k+a;
.4.
k=0;
13.(*)编程输出如下图形(不能仅用printf语句):
*
***
*****
*******
*********
{inti,k,j;
for(i=0;
{for(j=0;
4-i;
printf("
"
for(k=0;
=2*i;
*"
}
14.(*)用近似公式求自然对数的底e的值。
e≈1+1!
+++……
#include"
main()
{floati,j,e,p=1.0,sum=0.0;
10;
{for(j=1;
p=p*j;
sum=sum+1.0/p;
p=1.0;
e=i+sum;
%f\n"
e);
15.(*)请编程,用scanf()函数输入三个字符,对这三个字符各加一个整数1后,用
putchar()函数输出,且每输出一个字符换一行。
16.(*)请编程,用scanf()函数输入三个整数,输出其中不大不小的那个数,输出宽度为五位。
intfindmid(inti,intj,intk)
{intn;
.5.
if(i<
j){n=i;
i=j;
j=n;
k)n=i;
elseif(j>
k)n=j;
elsen=k;
return(n);
}
{inti,j,k,n;
%d%d%d"
i,&
j,&
k);
n=findmid(i,j,k);
17.(*)编程实现输出所有1~100之间能被9整除余2的数。
18.(*)编写一程序实现如下功能:
输入1、2、3、4、5、6、7(分别对应星期一至星期日)中的任何一个数,便能输出与之对应的英文名称。
如输入1,则输出Monday。
{charday;
day);
swith(day)
{case'
1'
:
monday\n"
break;
case'
2'
tuesday\n"
break;
3'
wednsday\n"
4'
thursday\n"
braek;
5'
friday\n"
6'
saturday\n"
case'
7'
sunday\n"
defult:
error\n"
19.(*)编一程序,对于给定的一个百分制成绩,输出相应的5分制成绩。
设:
90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。
(用switch语句实现)。
{ints,score;
score);
s=score/10;
switch(s)
{case10:
A\n"
case9:
case8:
B\n"
case7:
C\n"
case6:
D\n"
case5:
case4:
case3:
case2:
case1:
E\n"
default:
error"
20.(*)试编程:
否则输出no。
21.(**)一个数如果却好等于它的因子之和,这个数就称为“完数”。
例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。
编程序找出100之内的所有完