C语言课后习题答案文档格式.docx
- 文档编号:22680011
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:18
- 大小:18.26KB
C语言课后习题答案文档格式.docx
《C语言课后习题答案文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课后习题答案文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
elsey=exp(x);
%f"
y);
二改错:
ifx%2!
=0改为if(x%2!
=0)
if(x!
=0);
改为if(x!
y=1/x;
y=1.0/x;
实验四:
【4-1】#include<
{ints=0,i,n;
n);
for(i=1;
i<
=n;
i++)
s=s+i;
s);
}
【4-2】
{floats=0,f=1,i,n;
i=i+2)
{s=s+f/i;
f=-f;
或:
if(i%2!
【4-3】#include"
stdio.h"
{inti,t1=1,t2=1,s=0,m,n;
m=%d,n=%d"
m,&
=m;
i++)
t1=t1*i;
t2=t2*i;
s=t1+t2;
%d!
+%d!
=%d"
m,n,s);
二改错
inti,sum;
改为:
inti,sum=0;
for(i=1,i<
=100,i++)改为:
for(i=1;
=100;
for(i=100;
=999;
i++);
改为:
for(i=100;
实验五:
【5-1】#include<
{charc;
c=getchar();
if(c>
='
0'
&
c<
9'
)printf("
c-'
);
elseif(c=='
'
c);
elseprintf("
%c"
【5-2】#include<
{charch;
inti,num1=0,num2=0,num3=0,n;
scanf("
for(i=1;
{ch=getchar();
/*循环一次给变量ch赋值一次*/
if(ch>
ch<
)
num1=num1+1;
/*统计数字字符个数*/
elseif(ch=='
*'
)
num2=num2+1;
/*统计*个数*/
elseif((ch>
a'
z'
)||(ch>
A'
Z'
))
num3=num3+1;
}/*统计/字母个数*/
printf("
数字字符个数=%d,*个数=%d,字母=%d\n"
num1,num2,num3);
【5-3】#include<
main()
{doublex,y;
if(x<
0)y=0;
elseif(x<
10)y=9*x/2;
elsey=4.5*x-8.5*x*x;
x=%lf,y=%lf"
x,y);
if(x>
=0&
x<
=10)y=4.5*x-8.5*x*x;
【5-4】#include<
{intx;
if(x%2==0)
yes"
else
no"
【5-5】
{charch;
intn1=0,n2=0,n3=0,i;
=10;
{ch=getchar();
switch(ch)
{case'
:
n1++;
break;
case'
\n'
n2++;
default:
n3++;
}}
%d,%d,%d"
n1,n2,n3);
【5-6】
if(a>
=2&
a<
=100)
{
if(a%3==0)
a);
else
错误"
1题scanf(“%d”,x);
scanf(“%d”,&
elseif(x<
10)y=x^2-x+3;
10)y=x*x-x+3;
elsey=4x-7;
elsey=4*x-7;
b=1;
c=3;
{b=1;
实验六:
【6-1】
{ints=0,a=1,b=1;
while(b<
=5)
{s=s+a*b;
a=-a;
b=b+1;
【6-2】
{doublet=1.0/2,a=1,b=1,c=1,d=2,eps,s=0;
eps);
while(fabs(t)>
=eps)
{s=s+t;
a=-a;
b=b+2;
c=c+1;
d=d+1;
t=a*b/(c*d);
{doublet=1.0/2,f=1,n=1,eps,s=0;
{s=s+t;
n++;
t=(2*n-1)/(n*(n+1))*f;
【6-3】
{inta,s=0;
Enternumber:
"
/*输入第一个数*/
while(a>
0)/*输入数据大于0时,执行循环*/
{if(a%2!
=0)/*如果输入数据为奇数,求和*/
s=s+a;
}/*输入一个新数据为下一次循环做准备*/
奇数和=%d\n"
二.改错:
1题printf(“%d,”,k);
k=k-1;
{printf(“%d,”,k);
或printf(“%d,”,k),k=k-1;
或printf(“%d,”,k--);
2题while(i<
=20);
while(i<
=20)
三.填空
1题1空x>
=02空x<
amin2题(ch=getchar())!
=’\n’
3题1空t>
=1e-52空t*x/i
实验七:
【7-1】
floats=0,a=1,b=1,n,t=1;
do
t=a/b;
while(b<
=n);
【7-2】#include"
{inti=0,n,s=0,j;
Entern:
do
{
j=n%10;
n=n/10;
i++;
/*i用来统计位数*/
s=s+j;
}while(n);
/*while(n)等价于while(n!
=0)*/
i=%d,s=%d\n"
i,s);
min<
x改为:
min
While(i>
n);
if(i!
=5&
a%5=0)改为:
a%5==0)
while(i>
0);
5);
三.填空:
t*n/(2*n+1);
n%10
1空s/100
2空10*i
思考题:
程序1结果为:
sum=0,i=6循环体一次也没有执行
程序2结果为:
sum=6,i=7执行了一次循环体
实验八:
【8-1】
{inti;
if(i%5==0)
%5d"
i);
【8-2】
#include"
{doublei,sum=0,t=1,n;
{t=t*i;
sum+=1.0/t;
}
sum=%f\n"
sum);
【8-3】
{intx,s=0;
for(x=1;
;
x++)/*表达式2省略表示永远为真*/
s=s+x;
if(s>
10)
for(n=1;
n<
=30;
n++);
=15;
n++)
=n)改为:
if(i==(i*i)%10&
i==(i*i)%100)改为:
•if(i==(i*i)%10||i==(i*i)%100)
n%3==0
m/n
结果为:
随机数,11
4题:
100101
将break改为continue后结果为:
输出不能被3整除的数
实验九:
【9-1】#include"
{inti,j;
=4;
{for(j=1;
j<
=10-i;
j++)
"
for(j=1;
=2*i-1;
*"
\n"
【9-2】#include"
math.h"
{inti,j;
doublesum=0;
=200;
{for(j=2;
i;
if(i%j==0){sum+=sqrt(i);
}}
=8;
)改为:
for(n=1;
score);
ave+=score;
NO%d:
%f\n"
n,ave);
{scanf("
•printf("
n,ave/5);
=10+i;
j++)改为:
•for(j=1;
=2*i+1;
=5;
三.程序填空:
s=0
1空:
m+12空:
i-1
实验十:
【10-1】#include"
voidstar();
voidfun();
{star();
star();
fun();
voidstar()/*定义函数*/
{printf("
**********\n"
voidfun()/*定义函数*/
hello\n"
【10-2】#include"
intfac(intm);
intfac(int年)
{intt=1,i;
t=t*i;
returnt;
intmain()
{intn;
doublef;
inputn:
f=fac(n);
=%f\n"
n,f);
【10-3】#include"
floatfun(floatx)/*在自定义函数体中可以有若干个return语句,但只有一个起作用*/
{if(x==0)
return2*x-1;
elseif(x>
0)
returnsqrt(x);
{floatx,y;
Enterx:
y=fun(x);
y=%f\n"
【例10-4】#include"
doublemax(doublex,doubley,doublez);
/*函数说明*/
{doublea,b,c;
Entera,b,c:
%lf,%lf,%lf"
b,&
c);
he=%.2f\n"
max(a,b,c));
doublemax(doublex,doubley,doublez)/*对形参分别定义*/
{doublesum;
sum=x+y+z;
returnsum;
intfun(intm)改为:
doublefun(intm)
•for(i=2;
i<
m;
i++)改为:
for(i=2;
i++)
•y+=1/(i*i);
y+=1.0/(i*i);
\nTheresultis%1f\n"
fun(intn));
fun(n));
intmax(doublex,doubley,doublez);
改为:
doublemax(doublex,doubley,doublez);
•doublemax(doublex,y,z)改为:
doublemax(doublex,doubley,doublez)
1空countdigit(number,2);
2空longnumber,inta3空returnn;
doublefun(intm);
2空:
double3空:
实验十一
【11-1】#include<
doublefun(intn)
doublet=0,s=0;
{t=1.0/(2*i-1)-1.0/(2*i);
s=s+t;
returns;
{intn;
doubles;
\nInputn:
s=fun(n);
\ns=%f\n"
【11-2】
intfun(intnum);
{inti,m,n;
%d%d"
for(i=m;
if(fun(i))printf("
i);
}
intfun(intnum)
{intn=num,a,s=0;
while(n)
{a=n%10;
s=s+a*a*a;
n=n/10;
if(s==num)return1;
elsereturn0;
【11-3】#include"
fun(intx)
{if(x%2)
return0;
else
return1;
{intx,sum=0;
while(x>
{if(fun(x)==1)
sum+=x;
printf("
scanf("
sum=%d\n"
doublesum=0,t=1;
doublesum=1,t=1;
•for(i=0;
i++)改为:
fun(intn)改为:
returnsum改为:
returnsum;
1.题1空:
double2空:
f13空:
f2
2.题1空:
9992空:
t/103空:
x4空:
returnn;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课后 习题 答案