- 实验项目名称:实验5 循环结构程序设计(while、do-while语句的应用)
- 实验项目类型:验证性
- 实验日期:2024年4月11日
一、实验目的
1.熟练掌握三种循环语句并能正确运用;
2.能够用循环实现一些常用算法,如穷举法,迭代法,递推法等;
3.进一步学习程序调试;
4.了解中国算法,百钱买百鸡。
二、实验硬、软件环境
Windows计算机、Devc6.0
三、实验内容及步骤
实验内容:
编写程序:
(1)用while语句计算自然数列1,2,3……,n的和,n的值在程序执行时输入。
(2)用do-while语句计算n的阶乘
(3)用while语句编写程序求20+21+22+23+24+……+263
(4)用while语句编写程序。输入一行字符,求出其中字母、数字和其他字符的个数。
思考题:小明妈妈给他买了若干块巧克力,小明第一天吃了一半,还不过瘾,又多吃了一块,第二
天又将剩下的巧克力吃掉一半,又多吃一块,以后每天都吃了前一天剩下的一半零一块。到第10天再想吃
时,只剩下一块了。设计一个程序计算小明妈妈总共给小明买了多少块巧克力?
实验步骤:
项目1
解题思路
先输入一个正整数n,定义i,sum,通过while循环来计算,i值大于n时循环结束,最后得出结果
核心代码
#include <stdio.h>
int main()
{
int i,sum=0,n;
i=1;
scanf("%d",&n);
while(i<=n)
{
sum=sum+i;
i++;
}
printf("%d\n",sum);
}
结果截图
项目2
解题思路
先输入一个正整数n,定义i,mul,通过do-while循环来计算,i值大于n时循环结束,最后得出结果
核心代码
#include <stdio.h>
int main()
{
int n;
long mul=1;
int i=1;
printf("请输入n:");
scanf("%d",&n);
do
{
mul=mul*i;
i++;
}
while(i<=n);
printf("%d\n",mul);
}
结果截图
项目3
解题思路
先定义i=0,unsigned long long输入sum=0,用while循环,输入表达式sum=sum+(int)pow(2,i);i++,最后输出
核心代码
#include<stdio.h>
#include<math.h>
int main()
{
int i=1;
unsigned long long sum=0;
while(i<=63)
{
sum=sum+(int)pow(2,i);
i++;
}
printf("%llu\n",sum);
}
结果截图
项目4
解题思路
先定义一个字符型变量c和3个整形变量y s k并将它们的值都赋予0,while定义c=getchar()!='\n',if定义小写字母和大写字母的范围,y++;else if定义数字的范围,s++;else k++表示其余符号,最后输出结果
核心代码
#include <stdio.h>
int main()
{
char c;
int y=0,s=0,k=0;
printf("请输入一串字符:");
while((c=getchar())!='\n')
{
if(c>'a'&&c<='z'||c>='A'&&c<='Z')
y++;
else
if(c>='0'&&c<='9')
s++;
else
k++;
}
printf("英文字母有%d个,数字有%d个,其他字符有%d个\n",y,s,k);
}
结果截图
思考题
解题思路
先定义两个整形变量l t;再根据条件利用while函数列出表达式,最后得出答案.
核心代码
#include<stdio.h>
int main()
{
int l=1,t=9;
while(t>=1)
{
l=(l+1)*2;
t--;
}
printf("妈妈共买了%d块巧克力。\n",l);
}
结果截图
四、实验结果及分析
1.用while和do-while循环,先定义符号,再通过循环计算,最后得出结果
2.再项目3中,先定义i=0,unsigned long long输入sum=0,用while循环,输入表达式sum=sum+(int)pow(2,i);i++,最后输出