導航:首頁 > 廢水知識 > 怎麼用C語言編程回形數陣

怎麼用C語言編程回形數陣

發布時間:2022-03-04 04:47:25

『壹』 這個矩陣怎樣用c語言編程

//var數組=Enumerable.Repeat(0,7).ToArray();

//string[]字元組=newstring[7];

//int數=7,序=0,填=0;

//foreach(var矩inEnumerable.Range(1,7))

//{

//if(矩<=4)填++;else填--;

//foreach(var陣inEnumerable.Range(序,數)){數組[陣]=填;字元組[陣]="阿彌陀佛"[填].ToString();}

//if(矩<4){數-=2;序++;}else{數+=2;序--;}

////Console.WriteLine(string.Join("",數組));

//Console.WriteLine(string.Concat(字元組));

//}

『貳』 C語言 輸出數陣

思路就是弄個上限數(一行數字的數量)和一個計數器,計數器到了上限換行。每次換行時,計數器清零,上限加1.這樣就行了。

『叄』 C語言編程,輸出魔方陣

程序代碼:

#include&lt;stdio.h&gt;

#define N 16

int main()

{

int a[N][N]={0},i,j,k,p,n;

p=1;

while(p==1)

{

printf("Enter n(1~%d):",N);

scanf("%d",&n);

if((n!=0)&&(n&lt;N)&&(n%2!=0))

p=0;

}

i=n+1;

j=n/2+1;

a[1][j]=1;

for(k=2;k&lt;=n*n;k++)

{

i=i-1;

j=j+1;

if((i&lt;1)&&(j&gt;n))

{

i=i+2;

j=j-1;

}

else

{

if(i&lt;1)i=n;

if(j&gt;n)j=1;

}

if(a&lt;i&gt;[j]==0)a&lt;i&gt;[j]=k;

else

{

i=i+2;

j=j-1;

a&lt;i&gt;[j]=k;

}

}

for(i=1;i&lt;=n;i++)

{

for(j=1;j&lt;=n;j++)

printf("%4d",a&lt;i&gt;[j]);

printf(" ");

}

return 0;

}

(3)怎麼用C語言編程回形數陣擴展閱讀:

1.第一行中間一列的值為1。

所以用j=n/2+1確定1的列數,得出a[1][j]=1。

2.每一個數存放的行比前一個數的行數減1,列數加1。

行數用i=i-1確定,列數用j=j+1確定。

3.如果一個數行數為第一行,則下一個數行數為最後一行。

4.如果一個列行數為最後一列,則下一個數列數為第一列。

5.如果按上面的規則確定的位置上已有數,或上一個數是第一行最後一列,則把下一個數放在上一個數的下面。

『肆』 C語言回型矩陣

{
int c,m,n,i,j;
int t=0;
int a[20][20];
scanf("%d%d",&m,&n);
if(m>n)
c=n/2+1;
else
c=m/2+1;
for(i=0;i<c;i++)
{
for(/*j=0*/j=i;j<n-i-1;j++)
{
t++;
a[i][j]=t;
}
for(j=i;j<m-i-1;j++)
{
t++;
a[j][n-i-1]=t;
}
for(j=n-i-1;j>i;j--)
{
t++;
a[m-i-1][j]=t;
}
for(j=m-i-1;j>i;j--)
{
t++;
a[j][i]=t;
}
}

for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
printf("%d ", a[i][j]);
if(((j+1)%n) == 0)
printf("\n");
}
}
line12 我注釋掉你的一部分,後邊換成修改後的;看你代碼的意思是按回環依次復制,那麼外側一環賦值完成後,進入內一層環的時候,i和j都要+1的;你的i+1了,但j沒有。

『伍』 C語言編寫一個回型矩陣

#include<stdio.h>
#define M 10
int data[M][M];
void max()
{
int tem;
int ctat;
int i,j;
i=j=0;
tem=ctat=1;
while(tem<M*M) //tem是1到M*M值變數
{ //把方向分為4中狀態 即 ctat 變數 上 下 左 右 (1 2 3 4)
data[i][j]=tem;
switch(ctat)
{
case 1:
{
if(j+1<M&&0==data[i][j+1]) //第一種狀態右
{
tem++;
j++;
}
else
ctat=2;
}
break;
case 2:
{
if(i+1<M&&0==data[i+1][j]) //下
{
tem++;
i++;
}
else
ctat=3;
}
break;
case 3:
{
if(j-1>=0&&0==data[i][j-1]) //左
{
tem++;
j--;
}
else
ctat=4;
}
break;
case 4:
{ //上
if(i-1>=0&&0==data[i-1][j])
{
tem++;
i--;
}
else
ctat=1;//又上 狀態1 依次 循環 至矩陣最後第2個值M*M-1;//最後第一個值有 本函數最後賦予
}
break;
default:
break;
}
}
data[i][j]=tem; //賦予最後一個 即 data[i][j]=M*M
}
void main()
{

int i,j;
max();
for(i=0;i<M;i++)
{
for(j=0;j<M;j++)
printf("%4d",data[i][j]);
printf("\n");
}
getch();}

『陸』 C語言編程迴文數

main()
{
int x,n,i,j,a[20],c;
long sum;
scanf("%d",&n);
for (x=1;x<=n;x++)
{ sum=x*x;
for(i=1;i<20;i++)
a[i]=0;
for (i=1;i<20;i++)
{a[i]=sum%10;
sum=sum/10;
if (sum==0) break;
}
if (i%2==0) {c=0; for (j=1;j<=i/2;j++) {if(a[j]!=a[i+1-j]) c=1;}
if (c==0){printf("%d %d\n",x,x*x);}}
else {c=0; for (j=1;j<=(i-1)/2;j++) {if (a[j]!=a[i+1-j]) c=1;}
if (c==0){printf("%d %d\n",x,x*x);}}
}
}

『柒』 編程二維數組回形遍歷如何寫程序(C語言)

呵呵,我以前寫過,是用java寫的,給你看下java源碼,以供參考,希望對你有幫助.
java與c++語法差不多,入口是main()方法

package test;

/**
* 列印回行圖案
16 15 14 13
5 4 3 12
6 1 2 11
7 8 9 10
* @author zhanngle
*
*/
public class Round {

public static void main(String[] args) {
int row=10; //幾行
int col=10; //幾列
int[][] a=new int[row][col];

fill(a,row,col,0,0);
print(a);
}

/**
* 填寫最外一圈的數據,如果還有內圈數據,則遞歸調用本身繼續填寫內圈數據,直到填寫完畢
* @param a
* @param row
* @param col
* @param i
* @param j
*/
private static void fill(int [][] a,int row,int col,int i,int j) {

int n=row*col;
for(int c=0;c<=col-1;c++) { //橫向填充數值
a[i][j+c]=n-c; //在首行從左到右填值
if(row!=1)
a[i+row-1][j+c]=n-(col*2+row-3)+c; //如果不只1行,在末行從左到右填值
}

for(int r=0;r<row-2;r++) { //豎向填充數值
a[i+row-2-r][j]=a[i+row-1][j]-r-1; //在首列從下往上填值
if(col!=1) //如果不只1列,大末列從下往上填值
a[i+row-2-r][j+col-1]=a[i+row-1][j+col-1]+r+1;
else //否則覆蓋首列數據
a[i+row-2-r][j]=a[i+row-1][j]+r+1;
}

if(row-2>0 && col-2>0) fill(a,row-2,col-2,i+1,j+1); //如果還沒填完數據,則遞歸填寫
}

/**
* 列印二維數組
* @param a
*/
private static void print(int[][] a) {

for(int i=0;i<a.length;i++) {
for(int j=0;j<a[0].length;j++) {
System.out.printf("%4d",a[i][j]);
}
System.out.println();
}
}
}

『捌』 一個c語言問題(輸出回型矩陣)

效果圖 最下面的連接 我另一個網路id 的blog
/* * * * * * * * * * * * * * * * * * * * * * * * * *
編譯平台 : Windows XP
程序作者 : veket_linux
編譯器 : GCC 3.4.2
* * * * * * * * * * * * * * * * * * * * * * * * * */

/*
螺旋矩陣-撞牆法
設置上下左右四面牆,遇到撞牆,改變移動方向,牆向內收縮
*/
#include<stdio.h>
int main()
{
int a[5][5];
int i;
int j;
int n;
int top;
int botton;
int left;
int right;
int d;

n = 25;
i = 0;
j = 0;
top = 0;
botton = 5;
left = -1;
right = 5;
d = 0;
for(n=1;n<=25;n++)
{
if(d == 0)
{
if(j==right)
{
j--;
right--;
d = 1;
i++;
n--;
continue;
}
else
{
a[i][j] = n;
j++;
}
}

if(d == 1)
{
if(i==botton)
{
i--;
botton--;
d = 2;
j--;
n--;
continue;
}
else
{
a[i][j] = n;
i++;
}
}

if(d == 2)
{
if(j==left)
{
j++;
left++;
d = 3;
i--;
n--;
continue;
}
else
{
a[i][j] = n;
j--;
}
}

if(d == 3)
{
if(i==top)
{
i++;
top++;
d = 0;
j++;
n--;
continue;
}
else
{
a[i][j] = n;
i--;
}
}
}

printf("the array is:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
return 0;
}

『玖』 c語言 輸出字元回形陣

#include<stdio.h>
void main()
{int i,j,N;
char k,b,c,d,a;
scanf("%d %c",&N,&k);
if(N%2==0)
printf("%d is not a odd number!\n",N);
else if(N<24)
{ for(i=1;i<=N;i++)
{ for(j=1;j<=N;j++)
{ b=k-N/2+i-1;
c=k-N/2+N-j;
d=k-N/2+j-1;
a=k-N/2+N-i;
if(i<=j && i<=(N-j+1))
{if(k<=90 && b<=64) b=90-(64-b)%26;
if(k>=97 && b<=96) b=122-(96-b)%26;
printf("%c",b);}
if(i<=j && i>(N-j+1))
{if(k<=90 && c<=64) c=90-(64-c)%26;
if(k>=97 && c<=96) c=122-(96-c)%26;
printf("%c",c);}
if(i>j && i<=(N-j+1))
{if(k<=90 && d<=64) d=90-(64-d)%26;
if(k>=97 && d<=96) d=122-(96-d)%26;
printf("%c",d);}
if(i>j && i>(N-j+1))
{if(k<=90 && a<=64) a=90-(64-a)%26;
if(k>=97 && a<=96) a=122-(96-a)%26;
printf("%c",a);}
if(j!=N) printf(" ");}
printf("\n");}
}
}
好吧這不是我寫的,但是呢,的確是正確答案........我抄同學的,已經提交了,是對的。

『拾』 想用c語言實現 回形數組 代碼該怎麼編寫

#include<stdio.h>

#defineN100

/*實現回形數組*/

intmain()
{
intarray[N][N];
intdimension;
inti,j,num,start,end;

scanf("%d",&dimension);//輸入回形數組維度。

num=0;
for(i=0;i<dimension;i++){
for(j=0;j<dimension;j++){
printf("%3d",num++);
}
printf(" ");
}
printf(" ");

num=1;
start=0;
end=dimension;
while(1){
for(i=j=start;j<end;j++){//上行
array[i][j]=num++;
}

for(i++,j--;i<end;i++){//右列
array[i][j]=num++;
}

for(i--,j--;j>=start;j--){//下行
array[i][j]=num++;
}

for(i--,j++;i>start;i--){//左列
array[i][j]=num++;
}

start++;
end--;

if(start>=end)
break;
}

/*列印*/
for(i=0;i<dimension;i++){
for(j=0;j<dimension;j++){
printf("%3d",array[i][j]);
}
printf(" ");
}
return0;
}

閱讀全文

與怎麼用C語言編程回形數陣相關的資料

熱點內容
小區污水總管壞有誰出資維修 瀏覽:666
買了新的飲水機為什麼還有水 瀏覽:951
門口左側污水井填土有什麼講究嗎 瀏覽:91
換機油濾芯會有什麼後果 瀏覽:793
櫻花校園模擬器里怎樣提升好感度 瀏覽:174
廢水儲存池 瀏覽:450
反滲透膜制備的難點 瀏覽:35
反滲透膜價格實惠上海保茲 瀏覽:122
處理污水起大泡什麼原因 瀏覽:308
反滲透凈水機五根管子都是什麼 瀏覽:379
加濕器純凈水和蒸餾水 瀏覽:103
明敷掛管污水管道 瀏覽:666
3301樹脂耐高溫 瀏覽:264
家裡的鐵鍋如何除垢 瀏覽:808
樹脂滴膠網上有教程 瀏覽:278
水立方等離子空氣凈化器多少錢 瀏覽:32
沁園凈水機濾芯怎麼購買優惠 瀏覽:637
除垢劑的英語 瀏覽:692
雨水井與污水井是不是相通的 瀏覽:980
2016款尼桑逍客空調濾芯怎麼更換 瀏覽:571