实验四ing 循环结构程序设计
实验四 循环结构程序设计 (一) ,(编程,输入一批整数,先求出其中的偶数和及奇数和,然后
输出偶数和与奇数和的差(
输入输出示例:
输入一批整数:10 11 20 33 Ctrl+Z Sub=-14
提示:从键盘输入Ctrl+Z,
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示一批数据输入结束 思考:如何从输入的数中找出一个最小的数。 #include
int main()
{
int sub=0,n;
char c;
do
{
scanf("%d",&n);
if (n%2==0)
sub+=n;
else
sub-=n;
}
while((c=getchar())!='\n');
printf("sub=%d\n",sub);
return 0;
}
思考题
#include int main()
{
int i=0,num,min;
char c;
do
{
scanf("%d",&num);
if (i==0)
min=num;
i++;
if(num<=min)
min=num;
}
while((c=getchar())!='\n');
printf("最小数%d\n",min); }
,(编程,输入,个正实数eps,计算并输出下式的值,十到最后
一项的绝对值小于eps。
11111 s,1,,,,,,...59131721
输入输出示例:
Input eps:0.00001
S = 0.866977
思考:如果条件改为前后2项的绝对值的差小于eps,如何编程。
#include int main()
{
int f=1,i=1;
float s=0,eps;
printf("input eps: ");
scanf("%f",&eps);
while ((1/i)>=eps)【思考题】while((1-i/1)>=eps);
{
s=s+f*1/i;
f=-f;
i+=4;
}
printf("s=%f",s);
fflush(stdin);
getchar();
return 0;
}
1( 编程,输入1个实数x,计算并输出下式的值,直到最后一项
-5小于10。要求定义和调用函数fact(n)计算n的阶乘,以及定义
n和调用函数mypow(x,n)计算x。
246xxxs,1,,,,... 2!4!6!
输入输出示例:
X=2
S=3.761949
提示:输入不同的正整数和负整数验证结果
24xx3xs,1,,,,...思考:如何计算的值。 2!3!4!
#include
const double e = 1e-5;
int fact(int n)
{
int i;
int ans;
ans = 1;
for (i = 1 ; i <= n ; i++)
{
ans = ans * i;
}
return ans;
}
double mypow(double x, int n)
{
int i;
double ans;
ans = 1;
for (i = 0 ; i < n ; i++)
{
ans = ans * x;
}
return ans;
}
int main()
{
double x;
double item;
double s;
int i;
int sign=1;
scanf("%lf",&x);
s = 1; i = 2;
do
{
item = mypow(x,i) / (double)fact(i);
//s = s + sign*item;
i = i + 2;
s = s + item;
// sign=-sign;
}while(item > e);
printf("s = %f\n",s); }思考题在原题上变动
2( 编程,输入一个整数,求它的各位数字之和及位数。例如123
的各位数字之和是6,位数是3.
输入输出示例:
输入一个整数:,12345
,12345有5位数,各位数字之和是15
提示:n表示一个整数,则n%10取个位数,n=n/10去掉个位数,
组成一个新数。
思考:如果要把每位数字转换为字符输出,如何编程。(思考题不
会做)
#include
void main()
{
int a,i=0,sum=0;
scanf("%d",&a);
while(a!=0)
{
sum+=(a%10);
a/=10;
i++;
}
printf("%d位数, 各位数字之和为%d\n",i,sum);
}
3( 改错,输入2个整数,分别将其逆向输出。
输入输出示例:
123 ,321
123的逆向是321
,321的逆向是,123
源程序(有错误的程序)
#include int fun(int n) { int m,y;
y=0;
if(n<0)
m=n;
else
m=-n;
while (m==0) 改为(m!=0)
{ y=y*10+m/10; 改为m=m%10;
m=m/10;
}
if(n>=0) return y;改为-y
else return –y; 改为y
}
void main()
{ int n,m;
scanf(“%d%d”,&n,&m);
printf(“%d的逆向是%d\t”,n,fun(n));
printf(“%d的逆向是%d\t”,m,fun(m)); }
提示:模仿1调试程序,在变量窗口中观察变量值的变化,读者
还可以在Watch窗口输入不同变量的值来验证程序的正确性。
实验
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
要求
将以上各题的源程序、运行结果,以及实验中遇到的问题和解决
问题的方法,以及实验过程中的心得体会,写在实验报告上。