#include <stdio.h>团轮者
void main()
{
int M
int N
int flag=0
int num1=0
int num2=1
int i=0
int j=0
char str='A'
char Array[31][31]
printf("请输入矩阵的行M和矩阵的列N:"塌薯)
scanf("%d%d",&M,&N)
Array[0][0]=str
while(flag <M*N-1)
{
switch(num2%4)
{
case 1:
++j
if(j == N-num1-1)
{
num2++
}
break
case 2:
++i
if(i == M-num1-1)
{
num2++
}
break
case 3:
--j
if(j == num1)
{
num2++
}
break
case 0:
--i
if(i == num1+1)
{
num2++
num1++
}
break
}
if(++str == 'Z'+1)
str='A'
Array[i][j]=str
flag++
}
for(i=0i<Mi++)
{
for(j=0j<Nj++)
{
printf("桐大%c ",Array[i][j])
}
printf("\n")
}
}
下面程序的功能是将一个 3 行 4 列的数组进行逆时针旋转 90 度后输出,要求原始数组的数据随机输入,新数组以 4 行 3 列的方式输出。
主要涉及知识点:二谨绝手维数组的输入及输出、循环嵌套与二维数组的结合、输出的格式控制。
代码实现:
#include <stdio.h>int main(){
int a[3][4],b[4][3],i,j /*a 存放原始数组数据,b 存放旋转后数组数据*/
宏中 printf("input 16 numbers: ")
/*输入一组数据存放到数组 a 中,然后旋转存放到 b 数组中*/
for(i=0i<3i++){
for(j=0j<4j++){
scanf("%d",&a[i][j])
printf("%6d",a[i][j])
b[3-j][i]=a[i][j]
}
printf("\n")
}
printf("array b:\n")
for(i=0i<4i++){
for(j=0j<3j++)
printf("%6d",b[i][j])
printf("\n")
祥嫌 }
return 0
}
#include<stdio.h>
int main()
{int i,j,t,n,a[20][20]
scanf("%d",&n)
for(i=0i<ni++)
{for(j=0j<nj++)
{a[i][j]=i*n+j+1
printf("%3d",a[i][j])
}
printf("\n"尘宽)
}
printf("\n")
for(i=0i<=n/2i++)
for(j=ij<n-i-1j++)
{t=a[i][j]
a[i][j]=a[j][n-1-i]
a[j][n-1-i]=a[n-1-i][n-1-j]
a[n-1-i][n-1-j]=a[n-1-j][i]
a[n-1-j][i]=t
}
for(i=0i<ni++)
{for(j=0j<芦缓nj++)
printf("%3d",a[i][j])
printf("\n"派哗亮)
}
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)