编程:请分别用do while、while两种循环结构编程计算: 1!+2!+3!+...+n! , n的值由键盘输入。

 我来答
仁昌爱娱乐
高粉答主

2020-12-06 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459772

向TA提问 私信TA
展开全部

do while两种循环结构:

#include<stdio.h>

int fun(int a)

{

int i=1,sum=1;

do

{

sum*=i;

i++;

}

while(i<=a)

return sum;

}

main()

{

int n,i=1,sum=0;

printf("请输入n的值:");

scanf("%d",&n);

do

{

sum+=fun(i);

i++;

}while(i<=n)

printf("结果是:%d",sum);

}

while循环结构:

#include<stdio.h>

int fun(int a)

{

int i=1,sum=1;

while(i<=a)

{

sum*=i;

i++;

}

return sum;

}

main()

{

int n,i=1,sum=0;

printf("请输入n的值:");

scanf("%d",&n);

while(i<=n)

{

sum+=fun(i);

i++;

}

printf("结果是:%d",sum);

}

扩展资料:

do...while 和 while循环有相似之处,但使用方法完全不同,一个是直到型循环,另一个是当型循环。区别在于表达式的值是在每次循环结束时检查而不是开始时。

和正规的 while 循环主要的区别是 do-while 的循环语句保证会执行一次(表达式的真值在每次循环结束后检查),然而在正规的 while 循环中就不一定了(表达式真值在循环开始时检查,如果一开始就为 FALSE 则整个循环立即终止)。

xiao艾W6貞杜
2017-07-21 · 超过36用户采纳过TA的回答
知道答主
回答量:215
采纳率:0%
帮助的人:46.7万
展开全部
#include<stdio.h>
int fun(int a)
{
int i=1,sum=1;
while(i<=a)
{
sum*=i;
i++;
}
return sum;
}
main()
{
int n,i=1,sum=0;
printf("请输入n的值:");
scanf("%d",&n);
while(i<=n)
{
sum+=fun(i);
i++;
}
printf("结果是:%d",sum);
}

这是while循环。do while就自己改造了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
goodit
2017-07-21 · TA获得超过124个赞
知道答主
回答量:166
采纳率:50%
帮助的人:25.3万
展开全部
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
int sum=0;
int l=1;
do {
for (int i = 1; i < n; i++) {
l=i*l;
sum=l+sum;
}
System.out.print(sum);
}while (n>=1);

2,Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
int sum=0;
int l=1;
while (n>0){
for (int i = 1; i < n; i++) {
l=i*l;
sum=l+sum;
}
System.out.print(sum);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
e0nn8ik
2017-07-21 · TA获得超过534个赞
知道小有建树答主
回答量:720
采纳率:36%
帮助的人:220万
展开全部
独在异乡为异客,每逢佳节倍思亲.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式