输入一个数,如果是奇数,则求1到100的和,如果是偶数,求1到10的积

问题遇到的现象和发生背景 c语言
运行结果及详细报错内容 运行结果是2500,如果是偶数,编译错误

img

你也没写输入一个数啊
为啥要t+=2呢??????

把第11行的k+=2改为k++,因为求1到100的和;

再把第21行的t+=2改为t++试试,因为是求1到10的积,再把求积那里的t和sum1的初始值改为1;

然后在再用一个scanf()函数来获取一个整数.

修改如下:

参考链接:
自然数1到100的所有数字之和是多少_作业帮
c语言求1到10的积_百度知道

#include <stdio.h>

int main(void){
    
    int i;
    printf("请输入一个数:"); 
    scanf("%d",&i);
    if(i%2){
        int k=1,sum=0;
        while(k<=100){
            sum+=k;
            k++;
        }
        printf("%d\n",sum);
    }else{
        int t=1,sum1=1;
        while(t<=10){
            sum1*=t;
            t++;
        }
    //    printf("%d\n",t);
        printf("%d\n",sum1);
    }
    
    return 0;
} 

img

答案供参考:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int he=0,ji=1;
    int i;
    int shu;  //定义变量
    cin>>shu;  //输入变量
    if(shu%2!=0){  //判断是否为奇数
        for(i=1;i<=100;i++){  //循环
            he=he+i;  //一到一百以内的和
        }
    }
    if(shu%2==0){  //判断是否为偶数
        for(i=1;i<=10;i++){  //循环
            ji=ji*i;  //一到十以内的积
        }
    }
    if(shu%2!=0){  //判断是否为奇数
        cout<<he;  //是则输出一到一百以内的和
    }
    if(shu%2==0){  //判断是否为偶数
        cout<<ji;  //是则输出一到十以内的积
    }
    return 0;
}