当前位置: 代码迷 >> C语言 >> 只能输出一组正确值,WHY?
  详细解决方案

只能输出一组正确值,WHY?

热度:115   发布时间:2007-08-24 07:05:42.0
只能输出一组正确值,WHY?

#include<stdio.h>
main()
{
int i,j,x[3][3];
for(i=1;i<7;i++)
for(j=1;j<7;j++)
if((7-2*i)>0&&(7-2*j)>0&&(7-i-j)>0&&(2*i+2*j-7)>0){
//这其中有两组满足条件的i和j值,但结果只能输出一组正确值,请问通过什么改变可以达到输出两组值的
//目的?
x[0][0]=i;
x[0][1]=7-2*i;
x[0][2]=i;
x[1][0]=j;
x[1][1]=7-2*j;
x[1][2]=j;
x[2][0]=7-i-j;
x[2][1]=2*i+2*j-7;
x[2][2]=7-i-j;

for(i=0;i<3;i++){
for(j=0;j<3;j++)
printf("%d ",x[i][j]);
printf("\n");
}

}
}

搜索更多相关的解决方案: WHY  输出  

----------------解决方案--------------------------------------------------------
for(i=0;i<3;i++){
for(j=0;j<3;j++)
printf("%d ",x[i][j]);
printf("\n");
}
因为在这里你把i和j的值变了,影响了以后的循环。

----------------解决方案--------------------------------------------------------

改后的程序如下:

// Test02.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<stdio.h>
int main()
{
int i,j,x[3][3];
int p,q;
for(i=1;i<7;i++)
for(j=1;j<7;j++)
if((7-2*i)>0&&(7-2*j)>0&&(7-i-j)>0&&(2*i+2*j-7)>0){
x[0][0]=i;
x[0][1]=7-2*i;
x[0][2]=i;
x[1][0]=j;
x[1][1]=7-2*j;
x[1][2]=j;
x[2][0]=7-i-j;
x[2][1]=2*i+2*j-7;
x[2][2]=7-i-j;

for(p=0;p<3;p++){
for(q=0;q<3;q++)
printf("%d ",x[p][q]);
printf("\n");
}
printf("\n");

}
return 0;
}


----------------解决方案--------------------------------------------------------

呵呵,明白了.谢谢二位~~


----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
看不明白啊,这段程序想要干什么啊?
----------------解决方案--------------------------------------------------------
  相关解决方案