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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
求5个学生的总分,平均分,最高分,最低分
/** * *功能;求5个学生的总分,平均分,最高分,最低分 **/ package lianxi; import java.util.*; public class Test {     public static void main(String[] args){      Scanner x=new Scanner(System.in);//构造一个Scanner对象,其传入
求各科成绩总分及均分
//第一周上机实验项目3 #include    using namespace std;  struct Student  {   char num[13];    char name[10];    int cpp;  //C++  int math;   int english;   int grade;   double average;  };
问题二十六: 输入3个学生3门课的成绩,计算每个学生的总分和平均分成绩。(用数组)
/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了) * 程序的版权和版本声明部分 * All rights reserved. * 文件名称: txt.c * 作 者: liuyongshui * 问 题: 输入3个学生3门课的成绩,计算每个学生的总分和平均分成绩。 * 完成日期: 2013 年 4 月 8日 * 版 本 号: V1.0 *
/*3.使用二维数组存储班上五个学生三门功课的考试成绩,要求输出每一个学生的总分、平均分、最高分、最低分。
package HomeWork; import java.util.Arrays; import java.util.Scanner; /*3.使用二维数组存储班上五个学生三门功课的考试成绩,要求输出每一个学生的总分、平均分、最高分、最低分。 要求: ①学生个数动态获取。 ②学生考试的门数动态获取。 ③每个学生各门功课考试的成绩动态获取。 【动态获取是指由键盘输入】  
计算总分和平均分
小明本学期共有5门课程,分别是英语、语文、数学、历史和音乐。5科的期中考试成绩分别是86分、74分、92分、77分、82分,期末考试成绩分别是81分、87分、90分、62分、88分。已知期中和期末考试成绩分别占总成绩的30%和70%。定义相应的变量存放各科成绩,并计算出小明5门课程的总分和平均分。要求平均分输出两种形式:带2位小数的浮点数形式和不带小数的整数形式。要求总分输出带2位小数的浮点数形式
现在有10个学生,每人7门课程成绩。(将其在二维数组a中保存,要求选出每个人的最高分存在一维数组b中)
main() { int a[10][7],b[10],i,j,m; for(i=0;i<10;i++) for(j=0;j<7;j++) scanf("%d",&a[i][j]); for(i=0;i<10;i++) { m=a[i][0]; for(j=1;j<7;j++) if(a[i][j]>m) m=a[i][j]; b[i]=m;} printf("\n array b:\n"); fo
java练习——计算平均分总成绩
package class1; import java.util.Scanner; public class 计算平均分总成绩 { int java; int db; int c; public int sum(){ int sum=java+db+c; return sum; } public void
在一个长度为10的整型数组里面,保存了班级10个学生的考试成绩。要求编写5个函数,分别实现计算考试的总分,最高分,最低分,平均分和考试成绩降序排序。
在一个长度为10的整型数组里面,保存了班级10个学生的考试成绩。要求编写5个函数,分别实现计算考试的总分,最高分,最低分,平均分和考试成绩降序排序。#include &amp;lt;stdio.h&amp;gt;#define N 10//打印分数 void printScore(int score[]){ int i; printf(&quot;\n&quot;); for(i=0;i&amp;lt;N;i++) { printf(&quot;%...
程序用JAVA编写,统计每个学生的总分
/*计算期末某门课程考试成绩,该课程有四道大题, 该班有X位同学,求出每个同学的成绩,然后分别输出*/ import java.util.Scanner;//Scanner is in java.uti public class exam { public static void main(String[] args) { Scanner input = new Scanner(System.in); int score;//假设该试题包含若干道大题,score是某大题的得分 int stuNo;//班级人 int sum = 0;//该学生改课程的分数总和 System.out.print("请输入该班学生总数:"); stuNo = input.nextInt();//从控制台输入该班学生总人数 //while循环,先判断循环条件,i是等于1的,当满足i小于等于输入的stuNo的值是,则执行循环操作,也就是第i加1个i int i = 1; while(i <= stuNo) { sum=0; System.out.println("请输入第 " + i + "同学的成绩"); for(int m=1;m<5;m++)//假设该试题包含四道大题 { System.out.print("请输入该学生第 "+m+" 大题的分数:"); score = input.nextInt(); while(score<0) { System.out.print("该分数不符合要求,请重新输入该学生第 "+m+" 大题的分数:"); score = input.nextInt(); } sum = sum + score; } //输出该学生的总分数 if((sum>=0)&&(sum<=100)) {System.out.println("该 同 学 总 分 数 是 :" +sum);} else {System.out.println("该同学总分数出现错误:" +sum+" 分数是不可能的成绩!! 请核实!");} i = i +1; } } }
JavaScript——输出成绩且求最大值,最小值,总分,平均分
var score02=[75,88,78,90,93,96,89,80,90,85,51,85,61,62,71,79,86,82,97,92] for(var n=0;n { document.write("成绩="+score02[n]); } var max=score02[0];//认为第一个学生的成绩是最高的 for (var n=1;n { if (score02