kokers10 发表于 2021-5-13 00:38:25

虚心请教!!有无大佬帮忙看一下代码问题

int math( int result ){
int i;
int sum=0;
for( i=0;i<result;i++){
   sum+=(i+result);
}
   return sum;
}
    int main(){
    int a;
    scanf("%d",&a);
    printf("%d",math(a));
    }

1+2+3+a的值 a的值是用户输入的

kokers10 发表于 2021-5-13 00:38:58

{:5_99:}老笨比了

kokers10 发表于 2021-5-13 00:39:38

HELP!!!

kokers10 发表于 2021-5-13 00:40:12

{:10_266:}

chxchxkkk 发表于 2021-5-13 01:04:56

有啥问题呢?运行错误?编译不过?

孤世星辰 发表于 2021-5-13 09:22:37

你是完整代码么?头文件呢?出什么错你要把错误信息发出来啊

henkuderen 发表于 2021-5-13 10:05:59

你的意思是输入一个a,求小于a的所有正整数的和?如果是这样,循环中只需要+=i

孤世星辰 发表于 2021-5-13 10:53:22

for第一次:sum=0+(0+a)
for第二次:sum=a+(1+a)
所以你这个for写错了应该是
for(i=0;i<=result;i++)
{
sum=sum+i;
}
for第一次:sum=0+1
for第二次:sum=1+2
for第a次:sum=1+2+...+a

肖-肖 发表于 2021-5-13 12:00:45


for( i=0;i<result;i++){
   sum+=(i+result);
}
改为
for( i=0;i<=result;i++){
   sum+=i;
}
即可就满足了你的题目要求(1+2+3+a的值 a的值是用户输入的)了
当然i=1开始也是可以的

kokers10 发表于 2021-5-13 17:47:00

肖-肖 发表于 2021-5-13 12:00


改为


感谢大佬

kokers10 发表于 2021-5-13 17:47:42

孤世星辰 发表于 2021-5-13 10:53
for第一次:sum=0+(0+a)
for第二次:sum=a+(1+a)
所以你这个for写错了应该是


感谢大佬
页: [1]
查看完整版本: 虚心请教!!有无大佬帮忙看一下代码问题