C语言:数字1-9排成3行3列,要求横着加,竖着加,对角线加,都等于15 九宫格1-9个数字加起来等于15应该怎么排列

\u65e0\u8bba\u7ad6\u7740\uff0c\u6a2a\u7740\u659c\u7740\u52a0\u90fd\u7b49\u4e8e15.\u600e\u4e48\u7b97

\u5728\u4e00\u4e2a\u4e5d\u5bab\u683c\u91cc\u586b\u6570\u5b57\uff0c\u4e0d\u8bba\u6a2a\u7740\u3001\u7ad6\u7740\u3001\u659c\u7740\u76f8\u52a0\uff0c\u5b83\u4eec\u7684\u7ed3\u679c\u90fd\u7b49\u4e8e15

\u4e5d\u5bab\u683c1-9\u4e2a\u6570\u5b57\u52a0\u8d77\u6765\u7b49\u4e8e15\u6709\u56db\u79cd\u4e0d\u540c\u7684\u6392\u5217\u65b9\u5f0f\uff1a
\u4e00\uff1a

\u4e8c\uff1a

\u4e09\uff1a

\u56db\uff1a

\u6269\u5c55\u8d44\u6599\u4e5d\u5bab\u683c\uff0c\u4e00\u6b3e\u6570\u5b57\u6e38\u620f\uff0c\u8d77\u6e90\u4e8e\u6cb3\u56fe\u6d1b\u4e66\uff0c\u6cb3\u56fe\u4e0e\u6d1b\u4e66\u662f\u4e2d\u56fd\u53e4\u4ee3\u6d41\u4f20\u4e0b\u6765\u7684\u4e24\u5e45\u795e\u79d8\u56fe\u6848\uff0c\u5386\u6765\u88ab\u8ba4\u4e3a\u662f\u6cb3\u6d1b\u6587\u5316\u7684\u6ee5\u89de\uff0c\u4e2d\u534e\u6587\u660e\u7684\u6e90\u5934\uff0c\u88ab\u8a89\u4e3a"\u5b87\u5b99\u9b54\u65b9"\u3002\u76f8\u4f20\uff0c\u4e0a\u53e4\u4f0f\u7fb2\u6c0f\u65f6\uff0c\u6d1b\u9633\u4e1c\u5317\u5b5f\u6d25\u53bf\u5883\u5185\u7684\u9ec4\u6cb3\u4e2d\u6d6e\u51fa\u9f99\u9a6c\uff0c\u80cc\u8d1f"\u6cb3\u56fe"\uff0c\u732e\u7ed9\u4f0f\u7fb2\u3002\u4f0f\u7fb2\u4f9d\u6b64\u800c\u6f14\u6210\u516b\u5366\uff0c\u540e\u4e3a\u300a\u5468\u6613\u300b\u6765\u6e90\u3002\u53c8\u76f8\u4f20\uff0c\u5927\u79b9\u65f6\uff0c\u6d1b\u9633\u897f\u6d1b\u5b81\u53bf\u6d1b\u6cb3\u4e2d\u6d6e\u51fa\u795e\u9f9f\uff0c\u80cc\u9a6e"\u6d1b\u4e66"\uff0c\u732e\u7ed9\u5927\u79b9\u3002\u5927\u79b9\u4f9d\u6b64\u6cbb\u6c34\u6210\u529f\uff0c\u9042\u5212\u5929\u4e0b\u4e3a\u4e5d\u5dde\u3002\u53c8\u4f9d\u6b64\u5b9a\u4e5d\u7ae0\u5927\u6cd5\uff0c\u6cbb\u7406\u793e\u4f1a\uff0c\u6d41\u4f20\u4e0b\u6765\u6536\u5165\u300a\u5c1a\u4e66\u300b\u4e2d\uff0c\u540d\u300a\u6d2a\u8303\u300b\u3002\u300a\u6613\u00b7\u7cfb\u8f9e\u4e0a\u300b\u8bf4\uff1a"\u6cb3\u51fa\u56fe\uff0c\u6d1b\u51fa\u4e66\uff0c\u5723\u4eba\u5219\u4e4b"\uff0c\u5c31\u662f\u6307\u8fd9\u4e24\u4ef6\u4e8b\u3002
\u53c2\u8003\u8d44\u6599
\u4e5d\u5bab\u683c_\u767e\u5ea6\u767e\u79d1

#include "stdlib.h"
#include "stdio.h"
#define n 9 //定义魔术方块的行(列)数
void square(int M[n][n]);//声明求魔术方块的函数
void main(void)
{
int i,j;
int x[n];
int M[n][n];
for(i=0;i<n;i++)
x[i]=0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
M[i][j]=0;
square(M);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%-3d",M[i][j]);
printf("\n");
}
printf("各行的数加和:");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
x[i]+=M[i][j];
printf("%d ",x[i]);
}
printf("\n\n");
for(i=0;i<n;i++)
x[i]=0;
printf("各列的数加和:");
for(j=0;j<n;j++)
{
for(i=0;i<n;i++)
x[j]+=M[i][j];
printf("%d ",x[j]);
}
printf("\n");
system("pause");
}
void square(int M[n][n])
{
int p,q,k;
p=0;
q=(n-1)/2;
M[0][q]=1;
for(k=2;k<=n*n;k++)
{
p=(p-1+n)%n;
q=(q-1+n)%n;
if(M[p][q]>0)
{
p=(p+2)%n;
q=(q+1)%n;
M[p][q]=k;
}
else M[p][q]=k;
}
}
自己在一本书上看到的算法,然后自己编的,n可以随便改成你需要的行数,比如你所说的3行3列

#include<stdio.h>
#include<conio.h>
void f1(int *p)
{
*(p+8)=10-*p;
*(p+6)=10-*(p+2);
*(p+1)=15-*p-*(p+2);
*(p+3)=15-*p-*(p+6);
*(p+5)=15-*(p+2)-*(p+8);
*(p+7)=15-*(p+6)-*(p+8);
}
int f2(int x,int y,int z,int n)
{int i,f=1,b[4];
b[0]=x,b[1]=y,b[2]=z,b[3]=n;

for(i=0;i<4;i++)

{if(b[i]<1||b[i]>9)
{f=0;break;}
}
return f;
}
int f3(int *q)
{int *m,*n,k=1;
for(m=q;m<=q+8;m+=2)
{ for(n=q+1;n<=q+7;n+=2)
if(*n==*m)
{k=0;
break;
}
}
return k;

}

main( )
{int a[4]={1,2,3,4},b[4]={6,7,8,9},c[9]={0},i,j;
clrscr();

c[4]=5;

for(i=0;i<4;i++)
{c[0]=a[i];

for(j=0;j<4;j++)
{c[2]=b[j];
f1(c);

if(c[1]+c[7]==10&&c[3]+c[5]==10)
if( f2(c[1],c[3],c[5],c[7]))
if(f3(c))
{printf("%4d%4d%4d\n",c[0],c[1],c[2]);
printf("%4d%4d%4d\n",c[3],c[4],c[5]);
printf("%4d%4d%4d\n",c[6],c[7],c[8]);
printf("\n");
}
}
}
}
我是在网上的搜的,希望对你有帮助!

等会哦

  • C璇█:鏁板瓧1-9鎺掓垚3琛3鍒,瑕佹眰妯潃鍔,绔栫潃鍔,瀵硅绾垮姞,閮界瓑浜15_鐧惧害...
    绛旓細M[p][q]=k;} else M[p][q]=k;} } 鑷繁鍦涓鏈功涓婄湅鍒扮殑绠楁硶锛岀劧鍚庤嚜宸辩紪鐨勶紝n鍙互闅忎究鏀规垚浣犻渶瑕佺殑琛屾暟锛屾瘮濡備綘鎵璇寸殑3琛3鍒
  • 缂栧啓涓娈C璇█绋嬪簭,瀹氫箟濡傚浘鎵绀虹殑涓涓涓夎涓夊垪鐨勬暟缁,绫诲瀷涓烘暣褰...
    绛旓細{ int i,j,s1=0,s2=0,a[3][3]= {9,8,7,1,2,3,4,5,6},i1=0,j1=0;printf("浜岀淮鏁扮粍:\n");for(i=0; i<3; i++){ s1+=a[i][i];s2+=a[i][2-i];for(j=0; j<3; j++){ printf("%2d",a[i][j]);if(a[i][j]...
  • C璇█ 姹3琛3鍒鐭╅樀鐨勫鍥村厓绱犱箣鍜
    绛旓細浣跨敤涓涓簩閲嶇殑寰幆灏卞彲浠ュ疄鐜版眰3琛3鍒鐭╅樀鐨勫鍥村厓绱犱箣鍜岀殑浠诲姟鐨勩俰nclude<stdio.h> int main(){ int i,j,s=0,a[3][3]= {1,2,3,4,5,6,7,8,9};for(i=0; i<3; i++){ for(j=0; j<3; j++){ printf("%4d",a[i][j]);if(i!=2||j!=2)s+=a[i][j];} prin...
  • c璇█楂樻墜鏉! 1 2 3 4 5 6 7 8 9 杩欐槸涓涓3*3鐭╅樀,鎬庝箞鐢╟璇█浣垮叾鍙...
    绛旓細杩樻槸鐭╅樀鍚楋紵杩樻槸鍙1 3 5 7 9杩欏嚑涓暟鎹憖锛熷鏋滄槸鍙杩欏嚑涓暟鎹殑璇濓紝鍙互鎶婅繖涓煩闃靛畾涔夋垚涓涓涓夎涓夊垪鐨勪簩缁存暟缁勭殑锛屽洜姝ゅ彲浠ヤ娇鐢ㄥ涓嬫柟寮忥細main(){ int a[3][3]={1,2,3,4,5,6,7,8,9};for(int i=0;i<3;i++)for(int j=0;j<3;j++)if((i+j)%2==0)printf("%d\t...
  • C璇█灏忕櫧,璇烽棶杩欎釜鍙互瑙i噴涓涓嬭繖涓▼搴忎箞?灏辨槸灏1鍒9鍒嗘垚涓夌粍,姣忕粍...
    绛旓細濡傛灉鍑虹幇涓涓紝灏卞湪鏁扮粍涓搴斾綅缃仛涓涓爣璁般傛瘮濡備竴涓涓浣嶆暟378锛屼細鍦ㄦ暟缁勭殑3銆7銆8浣嶆爣璁颁负1銆傚鏋滀笁涓笁浣嶆暟姝eソ鍦ㄦ暟缁勪腑鏍囪浜9涓笉鍚岀殑浣嶇疆锛岄偅涔堟缁勬暟绗﹀悎瑕佹眰銆傚惁鍒欎笉绗﹀悎銆--- 瀵逛簬涓涓笁浣嶆暟 i=378锛岃鍒嗗埆鎻愬彇涓綅 鍗佷綅 鐧句綅鐨勬暟瀛楋紝i/100 鐨勫硷紝灏辨槸鐧句綅锛378/100=3, 鏁扮粍鐨勭...
  • 鍒涘缓涓涓3琛3鍒鐨勬暟缁,闅忔剰杈撳叆9涓鏁鍊,鐒跺悗浠琛屽垪杈撳嚭鏁扮粍,璁$畻闄や簡...
    绛旓細include <stdio.h>void main(){int i,j,a[3][3],s=0;for(i=0;i<3;i++)for(j=0;j<3;j++){scanf("%d",&a[i][j]);if(i!=j) s+=a[i][j];printf("%-4d",a[i][j]);if((j+1)%3==0) printf("\n");}printf("\nS=%d",s);} 杩愯绀轰緥鎴浘锛
  • 鐢ㄦ渶鍩烘湰鐨c璇█缂栫▼銆傚皢1-9杩欎節涓鏁鍒嗕负涓涓笁浣嶆暟,瑕佹眰绗竴涓3浣嶆暟...
    绛旓細include <stdio.h>#include <stdint.h>#define N9uint8_t arrayRaw[N];uint16_t num1 = 0, num2 = 0, num3 = 0;uint32_t index = 0;void print();void perm(int); /*姹傛暟缁勭殑鍏鎺掑垪 */void swap(int, int);void print(void){uint16_t i;printf("[%d]", index);for (i...
  • C璇█缂栫▼棰 浠庨敭鐩樿緭鍏9涓暟瀛樺叆涓涓3*3鐨勪簩缁存暣鍨嬫暟缁勪腑:
    绛旓細include "stdio.h"int main(int argc,char *argv[]){int a[3][3],s,i,j;printf("Please enter data...\n");for(i=0;i<3;i++)//杈撳叆3x3鏁扮粍for(j=0;j<3;scanf("%d",a[i]+j++));printf("\n");for(s=i=0;i<3;i++){//鎸3琛3鍒杈撳嚭骞舵眰瀵硅绾夸箣鍜宖or(j=0;j<...
  • 鎬ユ眰C璇█绋嬪簭:灏1,2,3,4,5,6,7,8,9鍏9涓鏁鍒嗘垚涓夌粍,缁勬垚3涓涓浣嶆暟,涓...
    绛旓細int check(int a,int b,int c){ int test[9]={0},i; long num = a*1000000+b*1000+c; if(b>1000 || c>1000)return 0;//纭繚鏄笁浣嶆暟 for(i = 0;i < 10;i++) { int temp = num%10; num/=10; temp--; if(test[temp] == 0) { ...
  • C璇█:1~9涔涓鏁板瓧涓嶉噸澶嶇粍鎴3涓涓浣嶆暟,浣垮叾2涓箣鍜岀瓑浜庣涓変釜;浠+...
    绛旓細int main(int argc,char *argv[]){ int a,b,c,u,v,w,x,y,z,r,s,t,k;for(k=0,a=1;a<10;a++)for(b=1;b<10;b++)if(b!=a)for(c=1;c<10;c++)if(c-b && c-a)for(u=1;u<10;u++)if(u-c && u-b && u-a)for(v=1;v<10;v++)if(v-u && v-c && v...
  • 扩展阅读:1-10正确书写田字格 ... 六六大顺猜一数字 ... 1-100数字表白情话 ... 数字人格1-9 ... 数字1-9 ... 1-2+3-4一直到100怎么算 ... 数字1-10练字帖可打印 ... 1-9数字谜题 ... 数字0-9打印 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网