输入n,求[1,n]范围内的所有奇数之和。

输入
测试数据有多组。每组测试数据输入一个整数n(0<n<1000)。若n=0,则输入结束。

输出
对于每组测试,求[1,n]中的奇数之和。

输入
10
9
0
输出
25
25

供参考:

#include<stdio.h>
int main()
{
    int n,i,sum;
    while(1){
         scanf("%d",&n);
         if (n == 0)  break;
         for(i=1,sum=0;i<=n;i++)
         {
             if (i%2 == 1) sum+=i;
         }
         printf("%d\n",sum);
    }
    return 0;
}

一个简单的实现:

#include <stdio.h>

int main(void){
    
    int sum[1000];
    int n;
    int i;
    
    //存储奇数之和的数组初始化为0 
    for(i=0;i<1000;i++){
        sum[i] = 0;
    }
    
    //获取要计算奇数之和的n 
    scanf("%d",&n);
    int index=0;  //奇数之和计算器 
    while(n!=0){
        
        for(i=1;i<=n;i++){  //计算从1到n之间的奇数之和 
            if(i%2!=0){
                sum[index]+=i;
            //    printf("i=%d,sum=%d\n",i,sum[index]);
            }
        }
        scanf("%d",&n);  //获取要计算奇数区间之和的下一个n 
        index++;  //指向奇数之和数组的下一个位置 
    }

    //打印结果 
    for(i=0;i<index;i++){
        printf("%d\n",sum[i]);
    } 
    
    return 0;
}