C语言编程答案大题Word格式.docx
- 文档编号:17759844
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:26
- 大小:20.88KB
C语言编程答案大题Word格式.docx
《C语言编程答案大题Word格式.docx》由会员分享,可在线阅读,更多相关《C语言编程答案大题Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
b=c;
printf("
%d,%d,%d\n"
a,b,c);
return0;
3.有三个整数a,b,c,由键盘输入,输出其中最大者。
{inta,b,c,max;
请输入a,b,c\n"
);
scanf("
max=a;
if(max<
max=b;
max=c;
最大的数为%d\n"
max);
4.编程求圆面积、圆周长。
要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字。
#definepi3.1416
main()
floatr,l,s;
请输入半径:
\n"
%f"
r);
l=2*pi*r;
s=pi*r*r;
l=%7.2f\ns=%7.2f\n"
l,s);
}
5.有分段函数:
-10时,y=|x|+5;
当-10≤x≤10时,y=4x-8;
10时,y=sqrt(x)。
math.h>
if(x<
-10)
y=abs(x)+5;
elseif(x<
=10)
y=4*x-8;
elsey=sqrt(x);
6.编写程序,判断某一年是否是闰年。
(闰年的条件是:
能被4整除,但是不能被100整除,或者可以被400整除。
)
intmain()
{intyear,leap;
enteryear:
"
year);
if(year%4==0)
if(year%100==0)
if(year%400==0)
leap=1;
else
leap=0;
else
if(leap)
printf("
%dis"
year);
%disnot"
aleapyear.\n"
7.输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字。
公式为c=5/9(f-32)
floatc,f;
请输入一个华氏温度:
f);
c=(5.0/9.0)*(f-32);
摄氏温度为:
%5.2f\n"
c);
}
8.有一函数:
1时,y=|x|;
当1<
=x<
10时,y=2x-1;
=10时,y=3x+11。
voidmain()
intx,y;
输入x:
if(x<
1)
y=abs(x);
elseif(x<
10)
y=2*x-1;
else
y=3*x+11;
x=%3d,y=%d\n"
9.输入三个实数,将这三个数按由小到大的顺序排列,并输出这三个数。
voidmain()
inta,b,c,t;
if(a>
b)
{t=a;
a=b;
b=t;
a=c;
c=t;
if(b>
{t=b;
b=c;
10.输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母;
如果不是,不转换。
然后输出最后得到的字符。
voidmain()
charch;
%c"
ch);
ch=(ch>
='
A'
&
ch<
Z'
)?
(ch+32):
ch;
%c\n"
ch);
11.编程求圆柱体积,圆柱表面积。
要求圆半径,圆柱高由键盘输入,输出时要求有文字说明,取小数点后两位数字。
floatr,h,v,s;
floatpi=3.1415926;
表输入圆半径r、圆柱高h:
%f%f"
&
r,&
h);
v=pi*r*r*h;
s=2*pi*r*r+2*pi*r*h;
圆柱体积为:
v=%6.2f\n"
v);
圆柱表面积为:
s=%6.2f\n"
s);
12.有分段函数:
-5时,y=x+10;
当-5≤x≤5时,y=x^2;
5时,y=2x-10.
-5)
y=x+10;
=5)
y=x^2;
elsey=2*x-10;
13.有三个整数a,b,c,由键盘输入,输出其中最小者。
if(max>
最小的数为%d\n"
14.输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;
15.输入三角形的三边长,求三角形面积。
求三角形面积的公式为
area=sqrt(s(s-a)(s-b)(s-c)),其中s=(a+b+c)/2
floata,b,c,s,area;
%f,%f,%f"
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
三角形面积area=%f\n"
area);
16.编程求2!
+4!
+6!
+8!
+10!
的值,并输出结果。
intn=1,sum=0,j,m=1,i;
for(i=1;
i<
=5;
i++){
m=1;
for(j=1;
j<
=2*i;
j++)
m=m*j;
sum=sum+m;
sum=%d\n"
sum);
17.猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想吃时就剩一个桃子了。
求第一天共摘了多少个桃子。
intday,x1,x2;
day=9;
x2=1;
while(day>
0)
{x1=(x2+1)*2;
x2=x1;
day--;
total=%d\n"
x1);
18.输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
inti,j,k,n;
narcissusnumbersare"
for(n=100;
n<
1000;
n++)
i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
%5d"
n);
19.编程求1~100之间的所有素数,并输出结果。
intn,m=0,k,i;
for(n=1;
=100;
n=n+2)
{k=sqrt(n);
for(i=2;
=k;
i++)
if(n%i==0)break;
if(i>
=k+1)
{printf("
%d"
m=m+1;
if(m%10==0)printf("
20.编程求1!
+3!
+5!
+7!
+9!
=2*i-1;
21.用pi/4≈1-1/3+1/5-1/7+...公式求pi的近似值,直到某一项的绝对值小于10的-6次方为止。
{intsign=1;
doublepi=0,n=1,term=1;
while(fabs(term)>
=1e-6)
{pi=pi+term;
n=n+2;
sign=-sign;
term=sign/n;
pi=pi*4;
pi=%10.8f\n"
pi);
22.一个球从100m高度自由落下,每次落地后又反跳回原高度的一半,再落下,再反弹。
求它在第10次落地时共经过多少米?
inti;
doublem=100,sum=0;
for(i=0;
10;
sum=sum+m;
m=m/2;
%f\n"
23.输入两个正整数m和n,求其最大公约数和最小公倍数。
intp,r,n,m,temp;
请输入n和m:
%d,%d"
n,&
m);
if(n<
m)
temp=n;
n=m;
m=temp;
p=n*m;
while(m!
=0)
r=n%m;
m=r;
最大公约数:
%d\n"
最小公倍数:
p/n);
24.利用循环,编程求1!
+2!
+…+10!
=10;
=i;
25.有一分数序列:
2/1,3/2,5/3,8/5,13/8,21/13......,求出这个数列前20项之和。
inti,n=20;
doublea=2,b=1,s=0,t;
for(i=1;
=n;
i++)
s=s+a/b;
t=a,
a=a+b,b=t;
sum=%16.10f\n"
s);
26.求Fibonacci数列前40个数。
这个数列有以下特点:
第1和第2个数为1,从第3个数开始,该数是其前面两个数之和。
{intf1=1,f2=1,f3;
%12d\n%12d\n"
f1,f2);
i<
=38;
i++)
{f3=f1+f2;
%12d\n"
f3);
f1=f2;
f2=f3;
27.一个数如果恰好等于它的因子之和,这个数就称为完数。
例如,6的因子为1、2、3,而6=1+2+3,因此6是完数。
编程求1000以内所有完数。
intm,s,i;
for(m=2;
m<
m++)
{s=0;
for(i=1;
m;
if((m%i)==0)s=s+i;
if(s==m)
{printf("
%d,itsfactorsare"
m);
for(i=1;
if(m%i==0)printf("
i);
printf("
}
28.求S=a+aa+aaa+...+aa...a(n个a)之值。
其中a是一个数字,n代表a的位数。
例如:
2+22+222+2222+22222(此时n为5),n由键盘输入。
inta,sn=0,tn=0,k,i=1,n;
a,n=:
n);
while(i<
=n)
{
tn=tn+a;
sn=sn+tn;
a=a*10;
++i;
a+aa+aaa+...=%d\n"
sn);
29.编程求100~200之间的所有素数,并输出结果。
for(n=101;
=200;
30.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
charc;
intletters=0,space=0,digit=0,other=0;
while((c=getchar())!
\n'
)
if(c>
a'
c<
'
z'
||c>
letters++;
elseif(c=='
'
space++;
elseif(c>
0'
9'
digit++;
else
other++;
字母=%d\n空格=%d\n数字=%d\n其他字符=%d\n"
letters,space,digit,other);
x31.将一个数组中的值按逆序重新存放。
例如,原来顺序为8,6,4,3,2,0。
要求改为0,2,3,4,6,8。
#defineN6
inta[N],i,temp;
enterarraya:
for(i=0;
N;
a[i]);
arraya:
%4d"
a[i]);
N/2;
temp=a[i];
a[i]=a[N-i-1];
a[N-i-1]=temp;
\nNow,arraya:
32.编写一个函数,求数列1+1/2+1/3+1/4+1/5+...1/n,利用主函数调用这个函数并输出结果。
main()
floati=1,sum=0,n;
inputanumbern:
sum+=1.0/i;
i=i+1;
33.将一个二维数组inta[3][4]的行和列的元素互换,存到另外一个二维数组中。
inta[2][3]={{1,2,3},{4,5,6}};
intb[3][2],i,j;
for(i=0;
=1;
for(j=0;
=2;
j++)
a[i][j]);
b[j][i]=a[i][j];
arrayb:
for(j=0;
b[i][j]);
34.利用循环输出以下图形
*****
****
***
**
*
{
inti,j,m;
m=i;
for(m=1;
i;
"
for(j=0;
=5-i;
*"
35.用冒泡排序法对输入的10个数进行降序排序,并存入数组中。
inta[10];
inti,j,t;
input10numbers:
9;
9-j;
if(a[i]<
a[i+1])
{t=a[i];
a[i]=a[i+1];
a[i+1]=t;
thesortednumbers:
for(i=0;
printf("
return0;
36.有一个3乘4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。
inti,j,row=0,colum=0,max;
inta[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};
max=a[0][0];
=3;
if(a[i][j]>
max)
max=a[i][j];
row=i;
colum=j;
max=%d,row=%d,colum=%d\n"
max,row,colum);
37.用冒泡排序法对输入的10个数进行升序排序,并存入数组中。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编程 答案