| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 311 人关注过本帖
标题:简单C程序,二维数组问题,为什么后面输出部分没显示出来啊?
只看楼主 加入收藏
weishen2011
Rank: 2
等 级:论坛游民
帖 子:92
专家分:70
注 册:2012-10-16
结帖率:80%
收藏
已结贴  问题点数:50 回复次数:4 
简单C程序,二维数组问题,为什么后面输出部分没显示出来啊?
#include<stdio.h>
#include<stdlib.h>
 
#define M 3  //学生数
#define N 4  //课程数
void input(float sc[][N+1],int m);
void output1(float sc[][N+1],int m);
void output2(float sc[][N+1],int m);
void total(float sc[][N+1],int m);
int main()
{
    float sc[M+1][N+1],ave[N-1];  //定义学生成绩数组
   
    input(sc,M);
    output1(sc,M);
    total(sc,M);
    output2(sc,M);
   
    system("pause");
    return 0;
}
void input(float sc[][N+1],int m)
{
     //m用于存放数组sc的行数
     int i,j;
     
     printf("请输入%d个学生%d门课程的成绩:\n",m,N);
     for(i=0;i<m;i++)
     {
         printf("\n第%d个学生的\n",i+1);
         for(j=0;j<N;j++)
         {
            printf("\t课程%d的成绩为:",j+1);
            scanf("%f",&sc[i][j]);
         }
     }
}
void output1(float sc[][N+1],int m)
{
     int i,j;
     printf("output\n");
     for(i=0;i<m;i++)
     {
        for(i=0;j<N;j++)
        {
          printf("%-7.0f",sc[i][j]);
        }
        printf("\n");
     }
}
void total(float sc[][N+1],int m)
{
     int i,j;
     
     //将每名学生平均分初始化为0
     for(i=0;i<m;i++)
     {
        sc[i][N]=0;
        for(j=0;j<N;j++)
        {
           sc[i][N]+=sc[i][j];
        }            
        sc[i][N]/=N;
     }
     for(j=0;j<N;j++)
     {
        sc[m][j]=0;
        for(i=0;i<m;i++)
        {
          sc[m][j]+=sc[i][j];
        }               
        sc[m][j]/=m;
     }
}
void output2(float sc[][N+1],int m)
{
     int i,j;
     
     printf("output\n");
     //输出m个学生N门课程的成绩
     printf("课程\t");
     for(j=0;j<N;j++)
     {
        printf("%-7d",j+1);               
     }
     printf("\n");
     
     for(i=0;i<m;i++)
     {
        printf("学生%d\t",i+1);
        for(j=0;j<N;j++)
        {
          printf("%-7.0f",sc[i][j]);
        }
        //输出学生i的平均成绩
        printf("%-7.1f",sc[i][N]);
        printf("\n");
     }     
     //输出课程j的平均成绩
     for(j=0;j<N;j++)
     {
        printf("%-7.1f",sc[m][j]);
     }
     printf("\n");
}
搜索更多相关主题的帖子: void include system return 
2012-11-15 01:12
StarFall
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:193
专家分:553
注 册:2012-10-1
收藏
得分:25 
回复 楼主 weishen2011
#include<stdio.h>
#include<stdlib.h>

#define M 3 //学生数
#define N 4 //课程数
void input(float sc[][N+1],int m);
void output1(float sc[][N+1],int m);
void output2(float sc[][N+1],int m);
void total(float sc[][N+1],int m);
int main()
{
float sc[M+1][N+1],ave[N-1]; //定义学生成绩数组

input(sc,M);
output1(sc,M);
total(sc,M);
output2(sc,M);

system("pause");
return 0;
}
void input(float sc[][N+1],int m)
{
//m用于存放数组sc的行数
int i,j;

printf("请输入%d个学生%d门课程的成绩:\n",m,N);
for(i=0;i<m;i++)
{
printf("\n第%d个学生的\n",i+1);
for(j=0;j<N;j++)
{
printf("\t课程%d的成绩为:",j+1);
scanf("%f",&sc[i][j]);
}
}
}
void output1(float sc[][N+1],int m)
{
int i,j;
printf("output\n");
for(i=0;i<m;i++)
{
for(j=0;j<N;j++) // 这里写成i=0了
{
printf("%-7.0f",sc[i][j]);
}
printf("\n");
}
}
void total(float sc[][N+1],int m)
{
int i,j;

//将每名学生平均分初始化为0
for(i=0;i<m;i++)
{
sc[i][N]=0;
for(j=0;j<N;j++)
{
sc[i][N]+=sc[i][j];
}
sc[i][N]/=N;
}
for(j=0;j<N;j++)
{
sc[m][j]=0;
for(i=0;i<m;i++)
{
sc[m][j]+=sc[i][j];
}
sc[m][j]/=m;
}
}
void output2(float sc[][N+1],int m)
{
int i,j;

printf("output\n");
//输出m个学生N门课程的成绩
printf("课程\t");
for(j=0;j<N;j++)
{
printf("%-7d",j+1);
}
printf("\n");

for(i=0;i<m;i++)
{
printf("学生%d\t",i+1);
for(j=0;j<N;j++)
{
printf("%-7.0f",sc[i][j]);
}
//输出学生i的平均成绩
printf("%-7.1f",sc[i][N]);
printf("\n");
}
//输出课程j的平均成绩
for(j=0;j<N;j++)
{
printf("%-7.1f",sc[m][j]);
}
printf("\n");
}
output1的j=0写成i=0了。。。改好了

去追寻更高的技术领域。永不停止。
2012-11-15 06:41
a635958000
Rank: 4
等 级:业余侠客
帖 子:55
专家分:253
注 册:2012-10-26
收藏
得分:15 
void output1(float sc[][N+1],int m)
{
     int i,j;
     printf("output\n");
     for(i=0;i<m;i++)
     {
        for(j=0;j<N;j++)
        {
          printf("%-7.0f",sc[i][j]);
        }
        printf("\n");
     }
}
楼主这个函数中第二个for循环初始条件应该是j=0
2012-11-15 08:45
jk_love
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:196
专家分:965
注 册:2012-10-22
收藏
得分:5 
表示同意2 3 楼
2012-11-15 19:18
zxd543
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:内蒙古
等 级:贵宾
威 望:17
帖 子:453
专家分:2351
注 册:2012-4-12
收藏
得分:5 
就是output1()循环变量写混了;

马马虎虎 不吝赐教 我是路过蹭分滴
2012-11-15 21:55
快速回复:简单C程序,二维数组问题,为什么后面输出部分没显示出来啊?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019854 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved