c语言数组,正数之和和负数之和

#include
main(){
    int i,a[3],s=0,m=0;
    for(i=0;i<3;i++)
    scanf("%d",&a[i]);
    for(i=0;i<3;i++)
        if(a[i]>0)
            s=s+a[i];
        else
            m=m+a[i];
    printf("正数和为%d,负数和为%d");}

运算的结果是一大串数字,不知哪里出了问题,麻烦高人指点

你知道为啥会出现一大串数字么?
因为楼上已经给你做了答案展示,那我就给你做一下原因分析吧。我想必,你如果能输出来一大串数字,那么你的主文件的函数名是肯定不会少的。输出一大串数字的原因主要是你第11行在输出语句中,缺少了相应的变量。因为你定义了两个%d,但是没什么有数据接受这两个%d,所以计算机会出现乱码。也就是你所谓的一大串数字。
解决方法就是在第十一行加上两个变量,如同楼上那位先生展示的一样。只需要添加一下即可运行。

main函数前加上int

printf()函数的用法,供参考:https://baike.baidu.com/item/printf/7467706?fr=aladdin

总结一下

#include
int main(){
    int i,a[3],s=0,m=0;
    for(i=0;i<3;i++)
    scanf("%d",&a[i]);
    for(i=0;i<3;i++)
        if(a[i]>0)
            s=s+a[i];
        else
            m=m+a[i];
    printf("正数和为%d,负数和为%d",s,m);
}

采纳下呗

#include<stdio.h>
int main(){
    int i,a[3],s=0,m=0;
    for(i=0;i<3;i++)
        scanf("%d",&a[i]);
    for(i=0;i<3;i++)
        if(a[i]>0)
            s=s+a[i];
        else
            m=m+a[i];
    printf("正数和为%d,负数和为%d", s, m);}
 

你的代码printf()"正数和为%d,负数和为%d"后面没有加上变量
printf()用法:https://www.cnblogs.com/qq329914874/p/5987583.html