实验参考答案Word格式.doc
- 文档编号:5304817
- 上传时间:2023-05-04
- 格式:DOC
- 页数:18
- 大小:168KB
实验参考答案Word格式.doc
《实验参考答案Word格式.doc》由会员分享,可在线阅读,更多相关《实验参考答案Word格式.doc(18页珍藏版)》请在冰点文库上搜索。
。
{intn;
请输入整数:
%d"
n);
if(n%3==0)
%d\n"
n);
else
不是3的倍数\n"
【3-2】编写程序,输入x,利用分段函数,计算并输出y值。
y=|x|(x≤0)
y=ex(x>
0)
math.h>
{doublex,y;
请输入实数x:
%lf"
x);
if(x<
=0)
y=fabs(x);
else
y=exp(x);
y=%f\n"
y);
/*或printf("
y=%lf\n"
*/
ifx%2!
=0改为if(x%2!
=0)
if(x!
=0);
改为if(x!
y=1/x;
改为:
y=1.0/x;
【4-1】求1+2+3+...+n的和。
{inti,n,sum=0;
请输入n值:
scanf("
for(i=1;
i<
=n;
i++)
sum=sum+i;
1+2+3+...+%d=%d\n"
n,sum);
【4-2】求1-1/3+1/5-1/7+...+1/n的和。
{inti,n,f=-1;
doublesum=0;
i=i+2)
{sum=sum+f*1.0/i;
/*加数为f*1.0/i*/
f=-f;
/*求下一个加数的符号值*/
}
结果为%f\n"
sum);
【4-3】任意输入两个正整数m和n,求m!
+n!
的值。
{inti,m,n,t1=1,t2=1,sum;
请输入m和n的值:
%d,%d"
m,&
=m;
i++)
t1=t1*i;
i++)
t2=t2*i;
sum=t1+t2;
%d!
+%d!
=%d\n"
m,n,sum);
(1)inti,sum;
inti,sum=0;
(2)for(i=1,i<
=100,i++)改为for(i=1;
=100;
for(i=100;
=999;
i++);
【5-1】任意输入一个字符,如果是数字字符,则输出相应的数字,是空格输出它的ASCII码值;
否则,原样输出。
提示:
例:
'
5'
-'
0'
=5
{charch;
ch=getchar();
if(ch>
='
&
&
ch<
9'
)printf("
ch-'
elseif(ch=='
'
ch);
elseprintf("
%c\n"
/*putchar(ch);
*/
【5-2】输入n个字符统计其中数字字符、*号和字母的个数。
#include<
{charch;
/*定义字符型变量*/
inti,n,num1=0,num2=0,num3=0;
/*i计数变量,其它变量计各类字符的个数*/
请输入要统计的字符的个数n的值:
/*给n赋值*/
for(i=1;
=10;
i++)/*for循环控制函数体执行n次*/
{ch=getchar();
/*循环一次给变量ch赋值一次*/
ch<
)
num1=num1+1;
/*统计数字个数*/
elseif(ch=='
*'
num2=num2+1;
/*统计*号个数*/
elseif((ch>
a'
z'
)||(ch>
A'
Z'
))
num3=num3+1;
/*统计字母个数*/
共输入%d个字符\n"
数字%d个,*号%d个,字母%d\n"
num1,num2,num3);
/*输出统计结果*/
【5-3】输入x,计算并输出分段函数y的值。
当x<
0时y=0
当0≤x<
10时y=9x/2
当x≥10时y=4.5x-8.5x
{floatx,y;
/*定义两个单精度的实型变量*/
Enterx:
%f"
/*给单精度变量赋值,格式控制为:
%f*/
if(x<
0)y=0;
elseif(x<
10)y=9*x/2;
elsey=4.5*x-8.5*x;
\nx=%f,y=%f\n"
x,y);
【5-4】任意输入一个数,判断是否是偶数,是,输出"
yes"
;
no"
/*定义变量*/
请输入n的值:
/*给变量n赋值*/
if(n%2==0)
yes\n"
/*偶数输出“yes”*/
no\n"
/*不是偶数输出“no”*/
【5-5】输入10个字符,分别统计空格、回车和其它字符出现的次数。
inti,n1=0,n2=0,n3=0;
/*i循环变量,其它变量用来计数*/
请输入10个字符:
{scanf("
%c"
ch);
/*给ch赋值*/
switch(ch)/*判断字符类型计数*/
{case'
:
n1=n1+1;
break;
/*是空格*/
case'
\n'
n2=n2+1;
break;
/*是回车*/
default:
n3=n3+1;
【5-6】任意输入一个数,判断是否是2~100之间的数:
(1)是,判断是否是3的倍数,是,输出此数;
否则,不输出。
(2)不是,输出"
输入错误"
/*定义变量n为int类型*/
请输入一个数n:
/*给n赋值*/
if(n>
=2&
n<
=100)/*判断n在2~100之间*/
{if(n%3==0)
}/*再判断n是否能被3整除*/
输入错误\n"
/*n不在2~100之间输出“输入错误”*/
(1)scanf(“%d”,x);
改为:
scanf(“%d”,&
(2)elseif(x<
10)y=x^2-x+3;
改为elseif(x<
10)y=x*x-x+3;
(3)elsey=4x-7;
elsey=4*x-7;
b=1;
c=3;
{b=1;
【6-1】求1-2+3-4+5的和。
{intf=1,sum=0,i=1;
while(i<
=5)
{sum+=i*f;
f=-f;
i++;
1-2+3-4+5=%d\n"
【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);
s);
【6-3】
{inta,s=0;
Enternumber:
a);
/*输入第一个数*/
while(a>
0)/*输入数据大于0时,执行循环*/
{ if(a%2!
=0)/*如果输入数据为奇数,求和*/
s=s+a;
/*输入一个新数据为下一次循环做准备*/
奇数和=%d\n"
%d,"
k);
k=k-1;
{printf("
或printf("
k),k=k-1;
k--);
while(i<
=20);
=20)
填空1题:
(1)x>
=0
(2)x<
amin填空2题:
(ch=getchar())!
=’\n’
【7-1】
#include"
stdio.h"
{
inti=1,n,f=1;
doublesum=0;
printf("
Entern:
scanf("
do
{sum+=f*1.0/i;
i=i+2;
f=-f;
}while(i<
=n);
/*先执行一次循环体,在判断循环终止条件*/
printf("
sum=%f,i=%d\n"
sum,i);
【7-2】
{inti=0,n,s=0,j;
do
{j=n%10;
s=s+j;
n=n/10;
i++;
/*i用来统计位数*/
}while(n);
/*while(n)等价于while(n!
=0)*/
i=%d,s=%d\n"
i,s);
(1)min<
x改为x<
min
(2)While(i>
n);
改错1题2题:
(1)if(i!
=5&
a%5=0)改为if(i!
a%5==0)
(2)while(i>
0);
5);
t*n/(2*n+1);
填空2题:
n%10填空3题:
(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】
{doublei,sum=0,t=1,n;
scanf("
{t=t*i;
sum=sum+1.0/t;
sum=%f\n"
【8-3】
{intx,s=0;
for(x=1;
;
x++)/*表达式2省略表示永远为真*/
{s=s+x;
if(s>
10)
for(n=1;
=30;
n++);
=15;
n++)
=n)改为for(i=1;
)
if(i==(i*i)%10&
i==(i*i)%100)改为:
if(i==(i*i)%10||i==(i*i)%100)
n%3==0填空2题:
m/n
思考题3题:
结果为:
随机数,11
思考题4题:
100101;
将break改为continue后结果为:
输出100到999之间不能被3整除的数
【9-1】
{inti,j;
=4;
{for(j=1;
j<
=4-i;
j++)printf("
"
for(j=1;
=2*i-1;
*"
\n"
【9-2】
math.h"
for(i=100;
=200;
for(j=2;
i;
j++)
if(i%j==0)
{sum+=sqrt(i);
=8;
n++;
)改为:
score);
ave+=score;
printf("
NO%d:
%f\n"
n,ave);
{scanf("
}printf("
n,ave/5);
(1)for(j=1;
=10+i;
j++)改为:
=10-i;
j++)
(2)for(j=1;
=2*i+1;
j++)改为:
=5;
s=0填空2题:
(1)m+1
(2)i-1
【10-1】
voidstar();
voidfun();
voidmain()
{star();
star();
fun();
voidstar()/*定义函数*/
**********\n"
}
voidfun()/*定义函数*/
hello\n"
【10-2】
intfac(intm);
intfac(intn)
{intt=1,i;
t=t*i;
returnt;
doublef;
inputn:
scanf("
f=fac(n);
=%f\n"
n,f);
【10-3】
floatfun(floatx)/*在自定义函数体中可以有若干个return语句,但只有一个起作用*/
{if(x==0)return2*x-1;
elseif(x>
0)returnsqrt(x);
elsereturncos(x);
{floatx,y;
y=fun(x);
【10-4】
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++)改为:
i++)
y+=1/(i*i);
y+=1.0/(i*i);
\nTheresultis%1f\n"
fun(intn));
fun(n));
intmax(doublex,doubley,doublez);
改为:
doublemax(doublex,y,z)改为:
doublemax(doublex,doubley,doublez)
(1)countdigit(number,2);
(2)longnumber,inta(3)returnn;
填空2题:
(1)doublefun(intm);
(2)double(3)returnt;
【11-1】
doublefun(intn)
{inti;
doublet=0,s=0,f=1;
{t=1.0/(2*i-1)-1.0/(2*i);
s=s+f*t;
f=-f;
returns;
{intn;
doubles;
\nInputn:
"
s=fun(n);
\ns=%f\n"
【11-2】
intfun(intnum);
{inti,m,n;
for(i=m;
if(fun(i))
i);
intfun(intnum)
{intn=num,a,s=0;
while(n)
{a=n%10;
s=s+a*a*a;
if(s==num)
return1;
else
return0;
【11-3】
intfun(intx)
{
if(x%2)
return0;
return1;
{intx,sum=0;
while(x>
{if(fun(x)==1)
sum+=x;
sum=%d\n"
(1)doublesum=0,t=1;
doublesum=1,t=1;
(2)for(i=0;
i++)改为:
for(i=1;
(1)fun(intn)改为:
doublefun(intn)
(2)returnsum改为:
returnsum;
此题删除
(1)double
(2)f1(3)f2
填空
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 参考答案
![提示](https://static.bingdoc.com/images/bang_tan.gif)