宁波大学C语言实验四.
4.5 实验四 循环结构程序设计
一、实验目的与要求
熟练掌握用while语句,do-while语句实现循环的方法。
熟练掌握用for语句实现循环的方法。
对循环语句的三种形式进行分析、比较,以掌握各种形式的共同之处与其特点。
掌握循环结构的嵌套,掌握break语句和continue语句在循环体中的作用。
实验4学时
二、实验内容
1. 程序验证题与改错题
(1)程序验证
从键盘输入一个整数,在屏幕上将其逆序数输入,例如输入8193,输出3918。
#include
void main()
{
int x,number;
printf("请输入一个整数:");
scanf("%d",&x);
do{
x=number%10;
number=number/10;
printf("%d", x);
}while(number!=0);
printf("\n");
}
如果输入的是一个负整数,程序应该如何改?
(2)程序改错
计算表达式1+2!+3!+…10!的值,改正下面程序中的多处错误。
源程序(有错误的程序)
#include
void main(void)
{
int sum1,sum2, i,j;
for(i=1;i<10;i++)
for(j=1,j<=i,i++)
sum1*=j;
sum1+=sum2;
printf("%d ",sum1);
}
#include
void main(void)
{int i,j;
int sum1,sum2=0;
for(i=1;i<=10;i++)
{sum1=1;
for(j=1;j<=i;j++)
sum1*=j;
sum2+=sum1;
}
printf("%d ",sum2);
}
3.一般编程题
编程题1
用三种循环结构(while语句、do-while语句、for语句),求1000以内奇数的和。
while语句
#include
void main()
{int i=1,sum=0;
while(i<=1000)
{sum=sum+i;
i=i+2;
}
printf(“sum=%d\n”,sum);
}
do –while语句
#include
void main()
{int i=1,sum=0;
do
{ sum=sum+i;
i=i+2;
}while(i<=1000);
printf("sum=%d\n",sum);
}
for语句
#include
void main()
{ int i;
int sum=0;
for(i=1;i<=1000;i++)
{ if(i%2==0)continue;
sum=sum+i;
}
printf("sum=%d\n",sum);
}
编程题2
输入一个正整数n,计算 的前n项之和,输出时保留6位小数。
输入输出示例1:
Enter n:5
sum = 1.787302
输入输出示例2:
Enter n:23
sum = 2.549541
# include
void main()
{float sum=0,a;
int n,i=1;
printf("Enter n:");
scanf("%d",&n);
while(i<=(2*n-1))
{a=1.0/i;
sum=sum+a;
i=i+2;
}
printf("sum=%.6f\n",sum);
}
编程题3
编写程序求a+aa+aaa+……+aa……a,a是一个数字,有n个a,实际的n和a值由键盘输入,输出格式如下示例(此时a是3,n是5)。
3+33+333+3333+33333=37035
提示:将a乘上10倍并加上a,变成aa,再将aa乘上10倍并加上a,变成aaa,依次类推,在变化的同时将a,aa,aaa进行累加。
# include
void main()
{int i=1,sum1,sum2=0,n,a;
printf("请输入n和a的值:");
scanf("%d%d",&n,&a);
printf("%d",a);
sum1=a;
while(i<=n)
{sum1=sum1*10+a;
printf("+%d",sum1);
sum2=sum2+sum1;
i++;
}
printf("=%d\n",sum2);
}