实验05参考答案文档格式.docx
《实验05参考答案文档格式.docx》由会员分享,可在线阅读,更多相关《实验05参考答案文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
printf("
Inputm:
"
);
scanf("
%d"
&
m);
Inputn:
n);
}while(m<
0||n<
0);
j=m;
while(j%n!
=0)/*调试时设置断点*/
j=j+m;
k=(m*n)/j;
/*调试时设置断点*/
最小公倍数是%d\n最大公约数是%d\n"
j,k);
return0;
}
②运行结果:
(提示:
通过屏幕截图,贴粘程序运行界面)。
2、完善程序,并调试运行程序
1、题目
(1)打开程序proj1.cpp,按以下要求完成操作
(1)请编写程序满足个位数的平方等于其本身的所有数,程序的运行结果是:
1、25、36。
(2)请按注释的要求在程序的“——”处填入适当的内容,并去掉程序中的“——”,使程序能正确运行,并保存文件。
{
inti,g;
for(i=1;
i<
100;
i++)//#1程序满足个位数的平方等于其本身的所有数
{
g=i%10;
//#2求取每个数的个位数,并放入g中
if(g*g==i)//#3判断个位数的平方是否等于其本身
printf("
%d"
i);
}
题目
(2)求n!
。
程序功能:
从键盘上输入一个正整数repeat(0<
repeat<
10),做repeat次下列运算:
读入1个正整数n(n<
=50),计算并输出n!
程序文件保存在“第2题”文件夹中)打开proj2.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。
//程序功能:
//读入1个正整数n(n<
=50),计算n!
//提示:
除在指定位置添加语句之外,请不要改动程序中的其他内容。
intmain()
intri,repeat;
inti,n;
doublefact;
repeat);
for(ri=1;
ri<
=repeat;
ri++)
//请在两条星线之间填入相应的代码,计算n!
(要求使用循环结构)
/*******************************************************/
fact=1;
for(i=1;
=n;
i++)
fact=fact*i;
%.0f\n"
fact);
题目(3)求x的n次幂(即:
xn)。
读入1个正实数x和1个正整数n(n<
=50),计算并输出x的n次幂(即:
xn,保留2位小数)。
程序文件保存在“第3题”文件夹中)打开proj3.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。
//读入1个正实数x和1个正整数n(n<
=50),计算x的n次幂(保留2位小数)。
doublex,mypow;
%lf%d"
x,&
//请在两条星线之间填入相应的代码,计算x的n次幂(要求使用循环结构)
/*************************************************************/
mypow=1;
mypow=mypow*x;
%.2f\n"
mypow);
题目(4)求1-1/2+1/3-1/4+…+1/n。
=100),计算并输出1-1/2+1/3-1/4+⋯⋯的前n项和(保留3位小数)。
程序文件保存在“第4题”文件夹中)打开proj4.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。
=100),计算1-1/2+1/3-1/4+...的前n项和(保留3位小数)
inti,n,flag;
floatsum;
//请在两条星线之间填入相应的代码,计算1-1/2+1/3-1/4+...的前n项和(保留3位小数)
//(要求使用循环结构)
/********************************************************************************/
sum=0;
i++){
flag=i;
if(i%2==0)
flag=-flag;
sum=sum+1.0/flag;
}
/*******************************************************************************/
%.3f\n"
sum);
题目(5)求1+1/3+1/5+1/7+…。
=100),计算并输出1+1/3+1/5+1/7+⋯⋯的前n项和(保留3位小数)。
程序文件保存在“第5题”文件夹中)打开proj5.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。
=100),计算1+1/3+1/5+1/7+...的前n项和(保留3位小数)
inti,n,temp;
//请在两条星线之间填入相应的代码,计算1+1/3+1/5+1/7+...的前n项和(保留3位小数)
for(sum=0,i=1;
temp=2*i-1;
sum=sum+1.0/temp;
题目(6)求1-1/3+1/5-1/7+…。
读入1个正实数eps,计算并输出1-1/3+1/5-1/7+⋯⋯,直到最后一项的绝对值小于eps(保留6位小数)。
程序文件保存在“第6题”文件夹中)打开proj6.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。
//读入1个正实数eps,计算1-1/3+1/5-1/7+...的前n项和,直到最后一项
//的绝对值小于eps(保留6位小数)。
math.h>
inttemp,flag;
doubleeps,item,sum;
%le"
eps);
//请在两条星线之间填入相应的代码,计算1-1/3+1/5-1/7+...的前n项和,直到最后
//一项的绝对值小于eps(保留6位小数)。
/***************************************************************************/
item=1.0;
flag=1;
sum=0;
for(temp=1;
fabs(item)>
=eps;
temp+=2){
item=flag*(1.0/temp);
sum=sum+item;
flag=-flag;
}
%.6f\n"
题目(7)求1-1/3+1/5-1/7+…。
从键盘上输入一个正整数repeat(0<
10),做repeat次下列运算:
输入2个整数begin和end,分别代表摄氏温度的起止值,输出该范围内(步长为1)摄氏温度C和华氏温度F的转换表。
转换计算公式:
F=32+C*9/5,输出语句:
printf("
%d%10.2f\n"
c,f);
。
程序文件保存在“第7题”文件夹中)打开proj7.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。
//输入2个整数begin和end,分别代表摄氏温度的起止值,输出该范围内(步长为1)
//摄氏温度C和华氏温度F的转换表。
//转换计算公式:
F=32+C*9/5
//输出语句:
intbegin,c,end;
doublef;
%d%d"
begin,&
end);
CelsiusFahrenheit\n"
//请在两条星线之间填入相应的代码,输出begin到end范围内(步长为1)摄氏温度C和华氏温度F的转换表。
//转换计算公式:
/**********************************************************************/
for(c=begin;
c<
=end;
c++){
f=32+c*9.0/5;
printf("
/********************************************************************/
题目(8)求奇数和。
从键盘上输入一个正整数repeat(0<
读入一批正整数(以零或负数为结束标志),求其中的奇数和。
程序文件保存在“第8题”文件夹中)打开proj8.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。
//读入一批正整数(以零或负数为结束标志),求其中的奇数和。
intx,sum;
x);
//请在两条星线之间填入相应的代码,读入一批正整数(以零或负数为结束标志),求其中的奇数和。
/**************************************************************************/
while(x>
0){
if(x%2!
=0)
sum=sum+x;
scanf("
&
/************************************************************************/
%d\n"
题目(9)求最大值和最小值。
输入一个正整数n,再输入n个整数,输出这n个整数中的最大值、最小值、累加和与平均值。
程序文件保存在“第9题”文件夹中)打开proj9.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。
//输入一个正整数n,再输入n个整数,输出这n个整数中的最大值、最小值、累加和与平均值。
inti,max,min,n,x;
doublesum,avg;
//请在两条星线之间填入相应的代码,输入n个整数,求这n个整数中的最大值、最小值、累加和与平均值。
sum=min=max=x;
for(i=2;
sum=sum+x;
if(x>
max)
max=x;
if(x<
min)
min=x;
avg=sum/n;
/*************************************************************************/
TheMaxis%d.\n"
max);
TheMinis%d.\n"
min);
TheSumis%f.\n"
TheAvgis%f.\n"
avg);
题目(10)求整数的位数以及各位数之和。
输入一个整数,输出它的位数以及各位数之和。
程序文件保存在“第10题”文件夹中)打开proj10.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。
//输入一个整数,输出它的位数以及各位数之和。
intnumber,sum;
longintin;
%ld"
in);
//请在两条星线之间填入相应的代码,求整型变量in中的整数的位数以及各位数之和。
number=0;
while(in!
=0){
number++;
sum=sum+in%10;
in=in/10;
number=%d,sum=%d\n"
number,sum);
题目(11)求2/1+3/2+5/3+8/5+...之和。
输入一个正整数n,输出2/1+3/2+5/3+8/5+...的前n项之和,保留2位小数。
(该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)(注:
程序文件保存在“第11题”文件夹中)打开proj11.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。
//计算并输出表达式:
2/1+3/2+5/3+8/5+...的前n项之和,保留2位小数。
//注意:
该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
inti,n;
floata,b,s,t;
//请在两条星线之间填入相应的代码,计算表达式:
2/1+3/2+5/3+8/5+...的前n项之和。
s=0;
for(a=2,b=1,i=1;
s=s+a/b;
t=b;
b=a;
a=t+b;
/***************************************************