会编程的进来看看 希望能给出详细的编程

来源:百度知道 编辑:UC知道 时间:2024/06/21 10:11:39
将1-9这九个数字分别填入一个3x3方阵,这样使每一行的三个数字组成一个三位数。如果要使第二行的第三位数是第一行的两倍,第三行的三位数是第二行的三倍应怎样填数。

先问问题:你确定要用编程的方法来解决嘛?

另外,能不能多给点分,这个程序很难写的哈。如果加分的话,今天下午就给你写出来

你这里有个错:
第二行的第三位数是第一行的两倍。 这是不可能的。
第二行的第三位数最大也只能是9,任何一个三位数都大于9.

哎,你出题也出个对的好不好?你这个题里面根本没有答案好不好? 打字也不认真!!!

题目是这样:
将1至9这几个数字排成3x3方阵,并使每一横行的三个数字组成一个三位数。如果要使第三行的三位数是第一行的两倍,第三行的三位数是第一的三倍,应怎样排法?编程找出所有排法。

#include <iostream>
#include <stdio.h>
using namespace std;

int check(int i)
{
int j,k,r=1;
int t[3];
for(j=0;j<3;j++)
{
t[j]=i%10;
i/=10;
if(t[j]==0)
r=0;
}
for(j=0;j<3;j++)
for(k=j+1;k<3;k++)
{
if(t[j]==t[k])
r=0;
}
return r;
}

int compare(int x,int y)
{
int j,k,r=1;
int t[3],s[3];
for(j=0;j<3;j++)
{
t[j]=x%10;
x/=10;
if(t[j]