c语言运行时显示:出现了一个问题导致程序停止正常工作

#include<stdio.h>voidmain(){inti,j;intgrade[7][6]={80,90,75,82,0,0,90,75,88,95,0,0,68... #include <stdio.h>
void main()
{
int i,j;
int grade[7][6]={80,90,75,82,0,0,90,75,88,95,0,0,68,78,88,82,0,0,72,85,63,86,0,0,95,88,90,85,0,0};
char name[5][10]={"李一","成红","王强","张一","席二"};
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
{
grade[i][4]+=grade[i][j];
}
grade[i][5]=(grade[i][4])/4;
}
for(j=0;j<4;j++)
{
for(i=0;i<5;i++)
{
grade[5][j]+=grade[i][j];

}
grade[6][j]=(grade[5][j])/5;
}
printf("姓名 语文 数学 英语 综合 总分 平均分\n");
printf("--------------------------------------------------------------------\n");
for(i=0;i<5;i++)
{
printf("%s\t",name[i]);
for(j=0;j<6;j++)
{
printf("%6.1f\t",grade[i][j]);
printf("\n");
}
}
printf("--------------------------------------------------------------------\n");
printf("各科平均 ");
for(j=0;j<4;j++)
{
printf("%6.1f\t",grade[6][j]);
printf("\n");
}
}

图片版和文字版方便观看和找错误→_→。。。。。我改了一上午也没弄明白。。。。小白求助
展开
 我来答
楼主_回头是岸
推荐于2017-09-08 · TA获得超过724个赞
知道小有建树答主
回答量:799
采纳率:53%
帮助的人:317万
展开全部
int i,j;
//[6][6]不是【7】【6】
int grade[6][6]={80,90,75,82,0,0,90,75,88,95,0,0,68,78,88,82,0,0,72,85,63,86,0,0,95,88,90,85,0,0};
char name[5][10]={"李一","成红","王强","张一","席二"};
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
{
grade[i][4]+=grade[i][j];
}
grade[i][5]=(grade[i][4])/4;
}
/*for(j=0;j<4;j++)//这条没用不知道干嘛
{
for(i=0;i<5;i++)
{
grade[j][5]+=grade[i][j];
}
grade[i][6]=(grade[5][j])/5;
}*/
printf("姓名        语文      数学    英语    综合    总分    平均分\n");
printf("--------------------------------------------------------------------\n");
for(i=0;i<5;i++)
{
printf("%s\t",name[i]);
for(j=0;j<6;j++)
{
printf("      %d",grade[i][j]);
//printf("\n");
}
printf("\n");
}
printf("--------------------------------------------------------------------\n");
printf("各科平均 ");
for(j=0;j<4;j++)
{
printf("%6.1d\t",grade[j][5]);
//printf("\n");
}

 

V快乐OK
2015-05-24 · 超过23用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:37.9万
展开全部
#include <stdio.h>
void main()
{
int i,j;
float grade[7][6]={80,90,75,82,0,0,90,75,88,95,0,0,68,78,88,82,0,0,72,85,63,86,0,0,95,88,90,85,0,0};
char name[5][10]={"李一","成红","王强","张一","席二"};
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
{
grade[i][4]+=grade[i][j];
}
grade[i][5]=(grade[i][4])/4;
}
for(j=0;j<4;j++)
{
for(i=0;i<5;i++)
{
grade[5][j]+=grade[i][j];
}
grade[6][j]=(grade[5][j])/5;
}
printf("姓名 语文 数学 英语 综合 总分 平均分\n");
printf("--------------------------------------------------------------------\n");
for(i=0;i<5;i++)
{
printf("%s\t",name[i]);
for(j=0;j<6;j++)
{
printf("%6.1f\t",grade[i][j]);
printf("\n");
}
}
printf("--------------------------------------------------------------------\n");
printf("各科平均 ");
for(j=0;j<4;j++)
{
printf("%6.1f\t",grade[6][j]);
printf("\n");
}
}
将grade[7][6] 定义为float类型,因为printf在将int类型转换成double类型时出错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
怎么也找不到名
2015-05-24
知道答主
回答量:8
采纳率:0%
帮助的人:6万
展开全部
int grade[7][6] 类型int改成 double就可以了。
追问

解决了问题,不过显示的结果不是我要的横向的看图。。。

这个问题是哪里出错了→_→

追答
把printf("\n");移到循环外就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tattackor
推荐于2017-09-08 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:886万
展开全部
一般是与电脑中的程序软件和插件与系统不兼容引起的:
1、当出现这种故障前都下载了什么程序软件或是插件。如果想起先将它们卸载,如果故障排除,就说明是程序软件或插件造成的。再重新下载安装,如果故障依旧,说明是这些程序软件或插件本身有错误,不能再使用。
2、打开IE选工具/管理加载项,在其中有没有出故障前下载的插件,如果有设为禁用。你可以下载超级兔子让它帮助你,清理IE加载项中不兼容或恶意插件,清理后观察故障有没有排除,如果没有排除你自己将IE加载项中的插件全部设为禁用,(不用担心选项还可随时启用)重新启动电脑后上网观察有效果否,如果有效果说明问题就出在这里,在日后慢慢恢复IE插件的过程中,哪一天又出现故障,这天恢复的IE插件就有问题,将它彻底设为禁用。
3、如果故障依旧,请你用系统自带的系统还原,还原到你没有出现这次故障的时候修复(如果正常模式恢复失败,请开机按F8进入到安全模式中使用系统还原)。
4、如果故障依旧,建议重装操作系统。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式