2 xyhqqlove xyhqqlove 于 2016.01.24 23:30 提问

数组问题求总分,又不对了,怎么回事
avg

#include
int scor[10][3];
void input()
{
for(int i=0;i<10;i++)
{
printf("chinese maths engish\n");
scanf("%d %d %d",&scor[i][0],&scor[i][1],&scor[i][2]);
}
}
void main()
{
input();
int sum[3]={0,0,0};
for(int i=0;i<10;i++)
{
sum[0]+=scor[i][0];
sum[1]+=scor[i][1];
sum[2]+=scor[i][2];
}
printf("avg %d,%d,%d", sum[0]/10,sum[1]/10,sum[2]/10);
printf("zongfen %d", (sum[0]/10+sum[1]/10+sum[2]/10)/3);
}

3个回答

qq_27183003
qq_27183003   Ds   Rxr 2016.01.24 23:41
已采纳

int除以int结果为int型,例如1/2=0,所以为了精度,你应该将有小数的量改为double或float

qq_27183003
qq_27183003   Ds   Rxr 2016.01.24 23:49
 #include <stdio.h>
int scor[10][3];
void input()
{
    for(int i=0;i<10;i++)
    {
        printf("chinese maths engish\n");
        scanf("%d %d %d",&scor[i][0],&scor[i][1],&scor[i][2]);
    }
}
void main()
{
    input();
    double sum[3]={0,0,0};//修改
    for(int i=0;i<10;i++)
    {
        sum[0]+=scor[i][0];
        sum[1]+=scor[i][1];
        sum[2]+=scor[i][2];
    }
    printf("avg %.2lf,%.2lf,%.2lf", sum[0]/10,sum[1]/10,sum[2]/10);//修改
    printf("zongfen %.2lf", (sum[0]/10+sum[1]/10+sum[2]/10)/3);//修改
}
kernel_my
kernel_my   2016.01.24 23:41

void input()这个函数没啥用,二维数组你也没搞清楚,你的程序有好多问题!建议你去补习一下c基础!

kernel_my
kernel_my 回复kernel_my: 看错了
接近 2 年之前 回复
kernel_my
kernel_my 回复ysuwood: 你写的程序有问题,void input()是个空循环,因为后面有个逗号
接近 2 年之前 回复
kernel_my
kernel_my 回复ysuwood: a[行][列]
接近 2 年之前 回复
qq_27183003
qq_27183003 他用的是全局数组,怎么没用呢?
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!