C语言分别用while, do~while, for循环求1+2+3+…+100和1^2+2^2+3^2+…+100^2.

如题所述

只是1+2+3+…+100的三个版本,1^2+2^2+3^2+…+100^2的话只是将sum=sum+i改为sum=sum+pow(i,2);就可以了,注意头文件的问题,pow函数记得在另一个头文件里,你自己查一下吧。
while版
int main()
{
int i=1,sum=0;
while(i<=100)
{
sum=sum+i;
i++;
}
printf("%d",sum);
return 0;
}
do-while版
int main()
{
int i=1,sum=0;
do
{
sum=sum+i;
i++;
}while(i<=100);
printf("%d",sum);
return 0;
}
for版
int main()
{
int i,sum=0;
for(i=1;i<=100;i++)
{
sum=sum+i;

i++;
}
printf("%d",sum);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-08
只是1+2+3+…+100的三个版本,1^2+2^2+3^2+…+100^2的话只是将sum=sum+i改为sum=sum+pow(i,2);就可以了,注意头文件的问题,pow函数记得在另一个头文件里,你自己查一下吧。
while版
int
main()
{
int
i=1,sum=0;
while(i<=100)
{
sum=sum+i;
i++;
}
printf("%d",sum);
return
0;
}
do-while版
int
main()
{
int
i=1,sum=0;
do
{
sum=sum+i;
i++;
}while(i<=100);
printf("%d",sum);
return
0;
}
for版
int
main()
{
int
i,sum=0;
for(i=1;i<=100;i++)
{
sum=sum+i;
i++;
}
printf("%d",sum);
return
0;
}
第2个回答  2013-02-21
(1)
int i=1, sum=0;
while(i<101) {
sum += i;

i++;

}

double i=1, sum=0;
while(i<101) {
sum += pow(i, 2);
i++;
}

(2)
int i=1, sum=0;
do {
sum+=i;

i++;

} while(i<101);

double i=1, sum=0;
do {
sum += pow(i, 2);
i++;
} while(i<101);

(3)
int i, sum=0;
for(i=1; i<101; i++) {
sum+=i;

}

double i, sum=0;
for(i=1; i<101; i++)
sum += pow(i, 2);

运行通过,没有问题的,这种题目很简单的,建议多想想本回答被提问者采纳
第3个回答  2013-02-21
#include <stdafx.h>
#include "func.h"
#include <afx.h>//CString的头文件
int main()
{
int i;
long mutvalue,sum;
mutvalue = 0;//平方和
sum = 0;//1+2+。。。和
/*for(i = 1; i <101; i++)//for循环做
{
sum +=i;
mutvalue += i*i;
}*/
printf("%ld %ld\n",sum,mutvalue);
i = 1;
/* while(i<101)//while循环
{
sum +=i;
mutvalue += i*i;
i++;
}*/
do //dowhile循环
{
sum +=i;
mutvalue += i*i;
i++;
}while(i<101);
printf("%ld %ld",sum,mutvalue);
return 0;
}
相似回答