本文目錄一覽:
- 1、螺旋方陣C語言編程
- 2、求蛇形方陣c語言代碼?
- 3、c語言——方陣
- 4、c語言編程數字矩形方陣
- 5、拉丁方陣C語言編程
- 6、C語言輸出12345方陣
螺旋方陣C語言編程
給,已經編譯運行確認了,
完全原創:
#include stdio.h
#include stdlib.h
void main( )
{
int i,j,r,l,b,d,pl,N;
int choose;
do
{
system(“cls”);
printf(“\t\t************************************************\n”);
printf(“\t\t********* 1. 階數選擇並打印 *****************\n”);
printf(“\t\t********* 2. 退出 *****************\n”);
printf(“\t\t************************************************\n”);
printf(“\t\tPlease input your choose:”);
fflush(stdin);
scanf(“%d”,choose);
if(choose==2) break;
else if(choose==1)
{
printf(“Input n(n10):”);
fflush(stdin);
scanf(“%d”,N);
if(N1||N=10)
{
printf(“Error Input!\n”);
system(“pause”);
continue;
}
for (i=1;i=N;i++)
{ for (j=1;j=N;j++)
{ r=i;d=0;pl=j-r;
if (rN-j+1) {r=N-j+1;d=1;pl=i-r;}
if (rN-i+1) {r=N-i+1;d=2;pl=N-j+1-r;}
if (rj) {r=j;d=3;pl=N-i+1-r;}
l=N-2*(r-1)-1;
b=(4*N-4)*(r-1)-4*(r-1)*(r-2)+1;
printf(“%4d”,b+l*d+pl);
}
printf(“\n”);
}
system(“pause”);
}
else
{
printf(“Error Input!\n”);
system(“pause”);
continue;
}
}while(1);
}
求蛇形方陣c語言代碼?
#include stdio.h
#define N 5 /*可改變數組大小*/
#define M 0 /*改變蛇形數組 方向*/
/*
M = 0
1 3 4
2 5 8
6 7 9
M = 1
1 2 6
3 5 7
4 8 9
*/
void main()
{
int x=0,y=0,b,k=1,i,j,w=1;
int s[N][N];
b = N*N;
s[0][0]=1;
for(i=2; i=b; i++)
{
if((y == 0) (x != (N-1)) (x%2 == (0+M)%2))
{
x++;
k = 1;
w = 0;
}
if((x == 0) (y != (N-1)) (y%2 == (1+M)%2))
{
y++;
k = 0;
w = 0;
}
if(x == (N-1) (y%2 == ((N%2+1)%2+M)%2))
{
y++;
k = 1;
w = 0;
}
if(y == (N-1) (x%2 == (N%2+M)%2) !( (x == N-1) (y == N-1) ) )
{
x++;
k = 0;
w = 0;
}
if((w == 1) (k == 1))
{
x–;
y++;
}
if((w == 1) (k == 0))
{
x++;
y–;
}
s[x][y] = i;
w = 1;
}
for(i=0; iN; i++)
{
for(j=0; jN; j++)
{
printf(“%d\t”,s[i][j]);
}
printf(“\n”);
}
}
c語言——方陣
#includestdio.h
#include “stdlib.h”
#include “string.h”
int s,n,a[101][101];
void fun(int x,int y){
a[x][y] = s;s++;
if(x == n – 1)
return;
if(a[x + 1][y] == 0){
fun(x + 1,y);
}
else fun(x,y + 1);
}
void main()
{
int i,j;
scanf(“%d”,n);
memset(a,0,sizeof(a));
a[n – 1][0] = 1;
s = 2;
for(i = n – 2;i = 0;i –){
fun(i,0);
}
for(i = 0;i n;i ++){
for(j = 0;j n;j ++){
printf(“%4d”,a[i][j]);
if(j != n – 1)
printf(” “);
}
printf(“\n”);
}
}
//自己按情況調一下字寬,嗯….加一下懸賞?
c語言編程數字矩形方陣
# include stdio.h
int main()
{
int i,j;
for(i=0;i6;i++){
for(j=0;j6;j++)
printf(“%d “,(i+1)*(j+1));
printf(“\n”);
}
return 0;
}
拉丁方陣C語言編程
#include stdio.h
/* stdio.h就是指「standard inputoutput」本語句指包含標準輸入輸出頭文件 例如「printf」包含在其中 */#define N 6
/* 其中的「#」表示這是一條預處理命令。凡是以「#」開頭的均為預處理命令。
「define」為宏定義命令,即用6表示置換所有的宏名N,然後再進行編譯。
可以簡單理解成若程序中遇到N,即為6 */ int main()
/* 定義main函數,main函數由系統直接調用,是程序執行的入口 */
{
int i, j;
/* 定義整型變量i,j */
for (i = 1; i = N; i++)
{
for (j = i; j N + i; j++)
printf(“%3d”, (j – 1) % N + 1);
/* %3d 顯示數值寬度為3格,靠右對齊 */
printf(“\n”);
/* 輸出回車 */
}
return 0;
}
/* ————————
重點介紹循環:
for (i = 1; i = N; i++)
由此可知i循環6次,每次取值分別為1、2、3、4、5、6;
for (j = i; j N + i; j++)
由此可知j進入循環的初始值即為每次i的值,循環次數為N,即6次第一次進入循環 for (i = 1; i = N; i++)
i=1:
第 1 次進入循環 for (j = i; j N + i; j++)
j=i , 即 j=1,
則 (j – 1) % N + 1 = 1
此時輸出 ” 1″ 注意:1前面有2空格,因為數值寬度為3格
第 2 次進入循環 for (j = i; j N + i; j++)
此時 j=2,
則 (j – 1) % N + 1 = 2
此時輸出 ” 2″
第 3 次進入循環 for (j = i; j N + i; j++)
此時 j=3,
則 (j – 1) % N + 1 = 3
此時輸出 ” 3″ 第 4 次進入循環 for (j = i; j N + i; j++)
此時 j=4,
則 (j – 1) % N + 1 = 4
此時輸出 ” 4″
第 5 次進入循環 for (j = i; j N + i; j++)
此時 j=5,
則 (j – 1) % N + 1 = 5
此時輸出 ” 5″
第 6 次進入循環 for (j = i; j N + i; j++)
此時 j=4,
則 (j – 1) % N + 1 = 6
此時輸出 ” 6″ 執行 printf(“\n”) 即回車換行 ,此時屏幕上顯示「 1 2 3 4 5 6」;第二次進入循環 for (i = 1; i = N; i++)
i=2:
第 1 次進入循環 for (j = i; j N + i; j++)
j=i , 即 j=2,
則 (j – 1) % N + 1 = 2
此時輸出 ” 2″
第 2 次進入循環 for (j = i; j N + i; j++)
此時 j=3,
則 (j – 1) % N + 1 = 3
此時輸出 ” 3″
第 3 次進入循環 for (j = i; j N + i; j++)
此時 j=4,
則 (j – 1) % N + 1 = 4
此時輸出 ” 4″ 第 4 次進入循環 for (j = i; j N + i; j++)
此時 j=5,
則 (j – 1) % N + 1 = 5
此時輸出 ” 5″
第 5 次進入循環 for (j = i; j N + i; j++)
此時 j=6,
則 (j – 1) % N + 1 = 6
此時輸出 ” 6″
第 6 次進入循環 for (j = i; j N + i; j++)
此時 j=7,
則 (j – 1) % N + 1 = 1
此時輸出 ” 1″ 執行 printf(“\n”) 即回車換行 ,此時屏幕上顯示 1 2 3 4 5 6
2 3 4 5 6 1感覺自己好傻,額,下面就不寫啦,最後就是 1 2 3 4 5 6
2 3 4 5 6 1
3 4 5 6 1 2
4 5 6 1 2 3
5 6 1 2 3 4
6 1 2 3 4 5
—————————-*/ 另外說一下,如果是正交拉丁方陣,6階是不存在的!相信你知道的!呵呵
C語言輸出12345方陣
大概想法就是,對角線上是1,對角線的夾角內分別是2,3,4,5四個方向
#include stdio.h
int main()
{
int i, j, n;
int a[21][21] = {0};
scanf(“%d”, n);
for(i = 0;i n;i++)
{
for(j = 0;j n;j++)
{
if(i == j || (i+j) == n -1)
a[i][j] = 1;
if(j i (i+j) n -1)
a[i][j] = 2;
if(j i (i+j) n -1)
a[i][j] = 4;
if(j i (i+j) n -1)
a[i][j] = 3;
if(j i (i+j) n -1)
a[i][j] = 5;
printf(“%d”, a[i][j]);
}
printf(“\n”);
}
}
原創文章,作者:LQJC,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/146372.html