注册 登录
编程论坛 C++教室

求输入所有奇数和

nkillers 发布于 2008-04-29 22:34, 914 次点击
程序要求用户输入从1到n之间的数,并计算所有奇数和这个东西要怎么写呢?
5 回复
#2
newyj2008-04-29 22:56
#include<iostream>
using namespace std;

int main(){
  int var=0,num=0;
  cout<<"输入1至100之间的数:";
  cin>>var;
  if(var>=1&&var<=100){
    for(int i=0;i<var;i++){
      if(i%2==1) num+=i;
    }
  }
  else cout<<"超出范围!";
  return 0;
}
#3
abelsky2008-04-29 23:06
我也是菜鸟
#include <iostream>
using namespace std;
int jishuhe (int a)       //定义一个求 1到 n 的奇数和 的函数
{
if(0==a%2) a=a-1;              //我不知道你说的n是不是奇数,若是偶数让它减1变为奇数.是奇数,不要这句
int sum=0;
for(int i=1;i<=a;i+=2)
sum+=i;
return sum;
}
int main()
{
int n;
cout<<"输入大于等于1的正整数"<<endl;
cin>>n;
cout<<jishuhe(n)<<endl;
return 0;
}
#4
nkillers2008-04-29 23:18
谢谢了,明白了
#5
nkillers2008-04-29 23:28
我所说的n是任意的一个数
#6
flyingcloude2008-04-30 12:11
#include<iostream>
using namespace std;

int main(){
    for(int n;cin>>n;){
        int sum=0;
        if(n%2==0){
            sum=(n+1)*n/2;
            sum=(sum-n/2)/2;
            cout<<sum<<'\n';
        }
        else{
            int temp=n-1;
            sum=(temp+1)*temp/2;
            sum=(sum-temp/2)/2;
            sum+=n;
            cout<<sum<<'\n';
        }
    }
}
感觉这个代码的性能会好点
1