求1-100之间的全部奇数之和 用C++程序来做

求1-100之间的全部奇数之和 用C++程序来做

//可以正常运行,我的这个方法是总结规律得出的,另外你也可以使用循环的方法,但是那个太费运算空间,效率太低了,如果你仅仅是求1-100,那么可以直接使用部分函数就可以的(把n换成100,把判断n的语句直接使用else后面的)
#include <iostream>
using namespace std;
int main()
{
int sum,n;
cout<<"求1-n的奇数和.请输入末尾数n(n>1):";
cin>>n;
if(n<1)
{
cout<<"输入错误。程序终止。"<<endl;
exit(1);
}
else
{//此处没有用递归或循环的方法,只是使用推导出的公式运算。
//如:1,2,3,4,5,这几个数字:sun=1+3+5 =3*(3)
//如:1,2,3,4,5,6 这几个数字:sum+1+3+5 =3*(3)
//两者(3)有个相似之处,可以有n即5或6求出,而前面的那个3则有1/5求出
//如果n为奇数
if(n%2!=0)
{
sum=(1+n)/2*(n+1)/2;
}
else
{
sum=(n/2)*(n/2);
}
}
cout<<"1-"<<n<<"的奇数和:"<<sum<<endl;
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-26
#include<iostream.h>
void main(){
int sum = 0;
int i;
for(i = 0; i < 50; i++){
sum = sum+2*i+1;//奇数使用2*i+1表示,依次为1,3,5,。。。,99
}
cout<<"1-100之间的全部奇数之和为"<<sum<<endl;
return ;
}本回答被提问者和网友采纳
第2个回答  2021-02-02
可以用for和while两种方法,,但while的更加简单。
#include <iostream>
using namespace std;
int main()
{
int i=1, sum = 0;
while(i<=100) {
sum += i * i;
i = i + 2;
}
cout << "sum= " << sum << endl;
return 0;
}
第3个回答  2010-06-07
#include <iostream.h>
#define N 100 //宏定义N为100
int main()
{
int sum=0,i;
for(i=0;i<=N;i++)
{
if(i%2 == 1)//如果i是奇数
{
sum +=i;
}
}
cout <<"1-100奇数和:"<<sum<<endl;
return 0;
}
第4个回答  2010-06-07
#include <iostream>
using namespace std;

int main()
{
int sum = 0;
for(int i = 1;i < 100; i+=2)
{
sum += i;
}
cout << sum << endl;
system("pause");
return 0;
}
相似回答