概述
实验目的:
1.熟悉while循环结构
2.使用while循环结构
实验步骤:
1.if选择结构与while循环结构
1.1下面两个流程图有何区别与联系。
1)
2)
2.2分析下面的代码段。
1)int i = 2, sum = 1;
if(i <= 5)
{
sum = sum + i;
++i;
}
printf("%d,%dn", i, sum);
2)int i = 2, sum = 1;
while(i <= 5)
{
sum = sum + i;
++i;
}
printf("%d,%dn", i, sum);
2.3分析下面的代码段。
1)char ch = 'a';
while(ch <= 'c')
{
putchar(ch);
++ch;
}
putchar(ch);
2)char ch = 'a';
if(ch <= 'c')
{
putchar(ch);
++ch;
}
if(ch <= 'c')
{
putchar(ch);
++ch;
}
if(ch <= 'c')
{
putchar(ch);
++ch;
}
if(ch <= 'c')
{
putchar(ch);
++ch;
}
if(ch <= 'c')
{
putchar(ch);
++ch;
}
putchar(ch);
有人认为while循环结构可以用n个if选择结构代替,你觉得呢?
提示:除了简洁性,还应考虑表达式各种取值的情况。
3.计算1+2+3+4+5有如下三种算法,请分析比较。
1)
printf("1+...+5=%dn", 1+2+3+4+5);
2)
int i = 2, sum = 1;
sum = sum + i; //1+2
++i;
sum = sum + i; //3+3
++i;
sum = sum + i; //6+4
++i;
sum = sum + i; //10+5
printf("1+...+5=%dn", sum);
3)
int i = 2, sum = 1;
while(i <= 5)
{
sum = sum + i;
++i;
}
printf("1+...+5=%dn", sum);
4.l输入一个正整数,输出各位上的数字和。请分析比较下面的三种算法。
1)
#include <stdio.h>
void main()
{
int n;
scanf("%d", &n);
printf("各位数字和为%dn", n%10+n/10%10+n/100);
}
2)
#include <stdio.h>
void main()
{
int n, m, sum = 0;
scanf("%d", &n);
m = n % 10;
sum += m;
n /= 10;
m = n % 10;
sum += m;
n /= 10;
m = n % 10;
sum += m;
n /= 10;
printf("各位数字和为%dn", sum);
}
3)
#include <stdio.h>
void main()
{
int n, m, sum = 0;
scanf("%d", &n);
while(n > 0)
{
m = n % 10;
sum += m;
n /= 10;
}
printf("各位数字和为%dn", sum);
}
5. 有百余人(最多150人),2人一组余1人,3人一组余2人,5人一组余4人,6人一组余5人,7人一组正好分完,问共有几人?
5.1用穷举法猜出人数。
#include <stdio.h>
void main()
{
int n;
while(1>0)
{
scanf("%d", &n);
if(n % 7 == 0 && n % 6 == 5 && n % 5 == 4)
if(n % 3 == 2 && n % 2 == 1)
{
printf("对了!就是%d人!n", n);
return;
}
printf("错了!不是%d人,请再继续!n", n);
}
}
如何提高穷举的效率,是100、101……,还是?
5.2用循环让程序自动穷举出答案。最后
以上就是机智背包为你收集整理的实验5-1 while循环结构的全部内容,希望文章能够帮你解决实验5-1 while循环结构所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复