用c语言循环结构输出一个数字方阵
int i,j,k;
int a[5][5];
void main(void)
{
for(i=0;i5;i++)
{
for(j=0;j5;j++)
{
if((j==1 || j==3) (i!=0 i!=4) )
{
printf(“%d”,2);
}
else if(j==2 (i!=0 i!=4))
{
printf(“%d”,3);
}
else
{
printf(“%d”,1);
}
}printf(“\n”);
}
}
用C语言输出“魔方阵”
这个是17以内奇数阶和四阶的!!!
#includestdio.h
void main()
{
int x,i,j,fl,k=0,a[18][18]={0};
printf(“请输入层数:”);
scanf(“%d”,x);
if((x!=4)(x%2==0)||(x0)(x18))
fl=0;
else if(x==4)
{
for(i=0;ix;i++)
{
for(j=0;jx;j++)
{
k+=1;
a[i][j]=k;
}
}
for(i=0;ix;i++)
for(j=0;jx;j++)
{
if(((i==j)(i2))||((j==x-i-1)(j2)))
{
k=a[i][j];a[i][j]=a[x-i-1][x-j-1];a[x-i-1][x-j-1]=k;
}
}
}
else
{
i=0;
j=x/2;
a[0][j]=1;
for(k=2;k=x*x;k++)
{
i=i-1;
j=j+1;
if(i0jx-1)
{
i=i+1;
j=j-1;
}
else
{
if(i0)i=x-1;
if(jx-1)j=0;
}
if(a[i][j]==0)
a[i][j]=k;
else
{
i=i+2;
j=j-1;
a[i][j]=k;
}
}
}
if(fl==0)
printf(“无此魔方阵!\n”);
else
{
for(i=0;ix;i++)
{
for(j=0;jx;j++)
printf(“%4d”,a[i][j]);
printf(“\n”);
}
}
}
用C语言设计算法输出一个5*5阶的螺旋方阵
我在ACM上写了一个N*N阶螺旋阵的题,
代码给你了,可能有点长。
输入5即有结果。
#include stdio.h
int main()
{
int n,k,a[30][30]={0},x=0,y=0,w[5]={1,1,1,1,1};
scanf(“%d”,n);
k=2;
a[0][0]=1;
while(k=n*n){
if(w[1](x0a[x-1][y]==0)) {
a[x-1][y]=k;
k++;
x–;
if(x0a[x-1][y]==0)
w[1]=1,w[2]=0,w[3]=0,w[4]=0;
else w[1]=0,w[2]=1,w[3]=1,w[4]=1;
}
else if(w[2](yn-1a[x][y+1]==0)){
a[x][y+1]=k;
k++;
y++;
if(yn-1a[x][y+1]==0)
w[1]=0,w[2]=1,w[3]=0,w[4]=0;
else w[1]=1,w[2]=0,w[3]=1,w[4]=1;
}
else if(w[3](xn-1a[x+1][y]==0)){
a[x+1][y]=k;
k++;
x++;
if(xn-1a[x+1][y]==0)
w[1]=0,w[2]=0,w[3]=1,w[4]=0;
else w[1]=1,w[2]=1,w[3]=0,w[4]=1;
}
else if(w[4](y0a[x][y-1]==0)){
a[x][y-1]=k;
k++;
y–;
if(y0a[x][y-1]==0)
w[1]=0,w[2]=0,w[3]=0,w[4]=1;
else w[1]=1,w[2]=1,w[3]=1,w[4]=0;
}
}
for(k=0;kn;k++){
int t=1;
for(x=0;xn;x++){
if(t){
if(n=3) printf(“%-d”,a[k][x]);
else if(n=9) printf(“%-2d”,a[k][x]);
else printf(“%-3d”,a[k][x]);
t=0;
}
else {
if(x==n-1) printf(” %-d”,a[k][x]);
else {
if(n=3) printf(” %-d”,a[k][x]);
else if(n=9) printf(” %-2d”,a[k][x]);
else printf(” %-3d”,a[k][x]);
}
}
}
printf(“\n”);
}
return 0;
}
急求!如何用C语言输出如下矩阵(N*N)
题目要求有一个问题,它要求N最小为2,却要求N为奇数,N为奇数应该最小为3或1才对.
按照题目要求编写的C语言矩阵程序如下
#includestdio.h
int main(){
int i,j,k,N,count=1;
scanf(“%d”,N);
if(N=2 || 15N || N%2==0){
printf(“请输入小于等于15且大于2的奇数”);
}else{
int a[N][N];
for(i=N/2;i=0;i–){
k=N-i-1;
for(j=N-i-2;j=i;j–){
a[j][k]=count++;
}
for(j=N-i-2;j=i+1;j–){
a[i][j]=count++;
}
for(j=i;jN-i;j++){
a[j][i]=count++;
}
for(j=i+1;jN-i;j++){
a[k][j]=count++;
}
}
for(i=0;iN;i++){
for(j=0;jN;j++){
printf(“%-5d”,a[i][j]);
}
printf(“\n”);
}
}
return 0;
}
C语言,输出字母方阵
#include stdio.h
main()
{
char c=65;
int i=0,j=0,n=0;
scanf(“%d”,n);
for (i=0;in;i++)
{
for (j=i;jn+i;j++)
{
printf(“%c”,c+ j%26 );
}
printf(“\n”);
}
}
26
ABCDEFGHIJKLMNOPQRSTUVWXYZ
BCDEFGHIJKLMNOPQRSTUVWXYZA
CDEFGHIJKLMNOPQRSTUVWXYZAB
DEFGHIJKLMNOPQRSTUVWXYZABC
EFGHIJKLMNOPQRSTUVWXYZABCD
FGHIJKLMNOPQRSTUVWXYZABCDE
GHIJKLMNOPQRSTUVWXYZABCDEF
HIJKLMNOPQRSTUVWXYZABCDEFG
IJKLMNOPQRSTUVWXYZABCDEFGH
JKLMNOPQRSTUVWXYZABCDEFGHI
KLMNOPQRSTUVWXYZABCDEFGHIJ
LMNOPQRSTUVWXYZABCDEFGHIJK
MNOPQRSTUVWXYZABCDEFGHIJKL
NOPQRSTUVWXYZABCDEFGHIJKLM
OPQRSTUVWXYZABCDEFGHIJKLMN
PQRSTUVWXYZABCDEFGHIJKLMNO
QRSTUVWXYZABCDEFGHIJKLMNOP
RSTUVWXYZABCDEFGHIJKLMNOPQ
STUVWXYZABCDEFGHIJKLMNOPQR
TUVWXYZABCDEFGHIJKLMNOPQRS
UVWXYZABCDEFGHIJKLMNOPQRST
VWXYZABCDEFGHIJKLMNOPQRSTU
WXYZABCDEFGHIJKLMNOPQRSTUV
XYZABCDEFGHIJKLMNOPQRSTUVW
YZABCDEFGHIJKLMNOPQRSTUVWX
ZABCDEFGHIJKLMNOPQRSTUVWXY
Press any key to continue
怎样用C语言输出矩阵
定义二维数组作为矩阵,然后用两个for循环打印出每个元素即可。
例如一个10×10的矩阵;
#define m 10
#define m 10
int a[m][n];
for(i = 0; i m; i++){
for(j = 0; j n; j++)
printf(“%d”,a[i][j]);
printf(“\n”);
}