电脑软硬件应用网
当前位置: 电脑软硬件应用网 > 设计学院 > 网络编程 > C语言 > 正文
c语言求平均分程序
c语言求平均分程序
2010-8-16 23:12:28  文/网络收集   出处:电脑软硬件应用网   

#include<stdio.h>
void main()
{
int a[4][4],b,c,d;
for(b=0;b<3;b++)
{
  printf("\n输入第%d个学生成绩:",b+1);
  for(c=0;c<4;c++)
  {
   scanf("%d\0",&a[b][c]);
  }
}
        printf("每  科  平  均  分:");
for(b=0;b<4;b++)
{
  for(c=0;c<3;c++)
  {
   a[4][b]+=a[c][b];
  }
  printf("%d ",a[4][b]/4);
}
printf("\n");
}

运行后最后平均分老是出错,应该要怎么改,请高手回复。

题目要求是有3个学生,4门课程,求4门课程的平均分
你的程序问题出在:
1、scanf("%d\0",&a[b][c]);
格式控制符一般除了逗号,空格外不能加其他符号,应改成
scanf("%d",&a[b][c]);
2、存放平均分的数组元素要初始化
在printf("每  科  平  均  分:");后面加一句:for(b=0;b<4;b++)a[3][b]=0;
3、数组a[4][4],下标为0-3,不能为4,
所以这里
a[4][b]+=a[c][b];应改成a[3][b]+=a[c][b];
4、每科只有3个学生成绩,所以应该为总分除以3
printf("%d ",a[4][b]/4);
应改成printf("%d ",a[4][b]/3);

帮你改正后的程序:


#include<stdio.h>
void main()
{
int a[4][4],b,c;
for(b=0;b<3;b++)
{
  printf("\n输入第%d个学生成绩:",b+1);
  for(c=0;c<4;c++)
  {
   scanf("%d",&a[b][c]);
  }
}

printf("每  科  平  均  分:");
for(b=0;b<4;b++)a[3][b]=0;
for(b=0;b<4;b++)
{
  for(c=0;c<3;c++)
  {
   a[3][b]+=a[c][b];
  }
  printf("%d ",a[3][b]/3);
}
printf("\n");
}

运行结果:

输入第1个学生成绩:96 96 96 96

输入第2个学生成绩:86 95 95 86

输入第3个学生成绩:75 84 85 75
每  科  平  均  分:85 91 92 85
Press any key to continue

我明白我错在哪了,没有去初始化,我以为系统会自动初始。

  • 上一篇文章:

  • 下一篇文章:
  • 最新热点 最新推荐 相关文章
    用C语言实现的闹钟程序
    C#实现Windows关机的代码
    用动态规划法求组和数的算法
    循环结构程序具有哪3个组成部分?
    const成员函数有什么特点?
    一道关于指针的C语言题
    C语言求3个整数的最大公约数
    BM模式匹配算法C语言实现
    从键盘输入任意5个4位整数存入数组a…
    求1到1000之间能被7和11整除,但不能…
    关于45IT | About 45IT | 联系方式 | 版权声明 | 网站导航 |

    Copyright © 2003-2011 45IT. All Rights Reserved 浙ICP备09049068号