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

如题所述

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 则整个循环立即终止)。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-21
#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就自己改造了。本回答被提问者采纳
第2个回答  2017-07-21
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);
}
第3个回答  2017-07-21
独在异乡为异客,每逢佳节倍思亲.