永发信息网

请教高手编写矩阵的加减法问题,这个代码有什么错误?

答案:2  悬赏:60  手机版
解决时间 2021-04-14 05:25

// JAQ.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

void main()
{
int iMatrix1[5][5],iMatrix2[5][5],i,j;
char cOption;
printf("请按行输入矩阵一的元素\n");
for (i=0;i<5;i++)
{
for (j=0;j<5;j++)
{
scanf("%d\n",&iMatrix1[i][j]);
}
printf("\n");
}
printf("请按行输入矩阵二的元素\n");
for (i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
scanf("%d\n",&iMatrix2[i][j]);
}
printf("\n");
}
printf("请输入您想进行的运算+或-");

cOption=getchar();
switch(cOption)
{
case '+':{
for(i=0;i<5;i++)
{
for(j=0;i<5;j++)
{
printf("%d",iMatrix1[i][j]+iMatrix2[i][j]);
}
printf("\n");
}
}
break;
case '-':{
for(i=0;i<5;i++)
{
for(j=0;i<5;j++)
{
printf("%d",iMatrix1[i][j]-iMatrix2[i][j]);
}
printf("\n");
}
}
break;
default:printf("错误!请重新输入");
}

}

build以后输入矩阵一的第一行能输6个元素,然后到输入运算符时就直接打出“错误!请重新输入”,这事怎么回事?

最佳答案
对照下面黑体标出的地方检察你的代码。我加那个while是为了清空输入缓冲区,因为缓冲区里有以前输入留下的多余的'\n',所以getchar()读到'\n'而不是'+'或'-',或者你用scanf()也可以
scanf("%c", &cOption); // 这样就不需要我加的那句while了

#include <stdio.h>

void main()
{
int iMatrix1[5][5],iMatrix2[5][5],i,j;
char cOption;
printf("请按行输入矩阵一的元素\n");
for (i=0;i<5;i++)
{
for (j=0;j<5;j++)
{
scanf("%d",&iMatrix1[i][j]);
}
}

printf("请按行输入矩阵二的元素\n");
for (i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
scanf("%d",&iMatrix2[i][j]);
}
printf("\n");
}
printf("请输入您想进行的运算+或-");
while(getchar() != '\n');

cOption=getchar();
switch(cOption)
{
case '+':{
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%d ",iMatrix1[i][j]+iMatrix2[i][j]);
}
printf("\n");
}
}
break;
case '-':{
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%d ",iMatrix1[i][j]-iMatrix2[i][j]);
}
printf("\n");
}
}
break;
default:printf("错误!请重新输入");
}
}
全部回答

很明显,数组是5行5列的。

你应该把 for (i=0;i<5;i++)

改为for (i=0;i<=5;i++)或者for (i=0;i<6;i++)

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
挪动一根火柴让这个等式相等
布,纸,和塑料等不同材质的东西应分别用什么
三步上篮最后一步停那然后又转身投篮了,算走
江门荷塘金辉公寓地址有知道的么?有点事想过
如何实行打开网页自动运行.exe文件
总胆汁酸,腺苷脱氨酶升高要紧不?
想回家了,怎么办?
电视机有时能正常消磁有时又不能,原因有那些
冬天吃什么对家人好?
爱要如何说出口?
《吸血鬼日记》更新几集了
<绯闻少女>第一季的角色介绍和剧情
“顺风”汽车经销店只经销“红旗”、“中华”
LOL中龙龟和盖伦怎么样
成人高考是自学还是…
推荐资讯
凌记饮食店怎么去啊,有知道地址的么
怀孕初期应该吃多少叶酸片,吃什么样的好??
两只老虎是什么 啊
接兵家访过了怎么没有叫我填写家访的单子啊
请问直径14的两刃合金铣刀铣硬度大约30的钢轴
管理是什么意思,什么事信托投资联合管理人?
华丰国通快递在哪
最近要重组的股票有哪些?
(1)夏天不少人喜欢点蚊香驱蚊.据媒体报道
一蒸坊地址有知道的么?有点事想过去
上网对皮肤不好吗?
will和be going to do有什么区别?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?