本文目录一览:
- 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");
}
}