关于c语的题,急求~ 输入矩阵的行数(m)和列数(n),输入数据建立一个m*n的矩阵,在屏幕上显示该矩阵;

输入矩阵的行数(m)和列数(n),输入数据建立一个m*n的矩阵,在屏幕上显示该矩阵;将矩阵中元素的位置顺时针旋转900。(如果是逆时针旋转又如何?)
例如:1 2 3 旋转后:7 4 1
4 5 6 8 5 2
7 8 9 9 6 3
要求程序是TC~

测试通过了都

顺时针
#include "stdio.h"
#include "conio.h"

main()
{ int a[50][50],b[50][50],i,j,m,n;

printf("\n input row: ");
scanf("%d",&m);

printf("\n input col: ");
scanf("%d",&n);

for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("\n input a[%d][%d]: ",i+1,j+1);
scanf("%d",&a[i][j]);
}

}

for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
b[i][j]=a[n-j-1][i];

}
}
printf("\n");

for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf(" %d ",a[i][j]);
if(j==n-1) printf("\n");

}

}

逆时针

#include "stdio.h"
#include "conio.h"

main()
{ int a[50][50],b[50][50],i,j,m,n;

printf("\n input row: ");
scanf("%d",&m);

printf("\n input col: ");
scanf("%d",&n);

for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("\n input a[%d][%d]: ",i+1,j+1);
scanf("%d",&a[i][j]);
}

}

for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
b[i][j]=a[j][n-i-1];

}
}
printf("\n");

for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf(" %d ",a[i][j]);
if(j==n-1) printf("\n");

}

}

printf("\n");

for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf(" %d ",b[i][j]);
if(j==n-1) printf("\n");

}

}

getch();
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-28
. int n,m,i,j,k,s=0; printf("请输入矩阵的行数n和列数a[n][100]太占内存,用指针*(*(a+n)+m)追问

额,你会写程序么,麻烦把程序写出来啊~

用C语言编写一个矩阵转置的函数,矩阵的行数和列数在程序中由用户输入...
**nListSave=NULL; printf("输入矩阵行列数:"); scanf("%d%d",&row,&clo); nList=getList(row,clo); setNum(nList,row*clo); printf("输入的矩阵为:\\n"); prtList(nList,row,clo); printf("转置后的矩阵为:\\n")...

C语言.输入一个m×n的矩阵,计算每行的和。
int m,n,tmp,i,j,sum[10]={0};scanf("%d %d",&m,&n);for(i=0;i<m;i++) \/\/输入 for(j=0;j<n;j++)scanf("%d",&a[i][j]);for(i=0;i<n;i++) \/\/交换 { tmp=a[m-1][i];a[m-1][i]=a[0][i];a[0][i]=tmp;} for(i=0;i<m;i++) \/\/输...

有一个M×N阶矩阵,求其中最大值和最小值,以及它们的行号和列号。用C...
include<stdio.h>int main(){int m,n,i,j,maxi,maxj,mini,minj; scanf("%d%d",&m,&n); int a[m][n]; maxi=maxj=mini=minj=0; for(i=0;i<m;i++) for(j=0;j<n;j++) {scanf("%d",&a[i][j]); if(a[i][j]>a[maxi][maxj]){maxi=i;maxj=j;} if...

C语言编程:输入一个M*N的整数矩阵,求其最大值及其所在的行号、列号...
printf("请输入矩阵行数:");scanf("%d",&m);printf("请输入矩阵列数:");scanf("%d",&n);array=(int*)malloc(m*n*sizeof(int));printf("请输入该%d*%d矩阵:\\n",m,n);for(i=0;i<m*n;i++)scanf("%d",&array[i]);int max=array[0];int index=0;for(i=1;i<m*n;i++...

c语言:请编写一个函数,可调用它来计算m*n矩阵与n*m矩阵的积。主函数...
printf("请输入第一个矩阵的行数m(1-%d)和列数n(1-%d):\\n",maxsize,maxsize);scanf("%d %d",&m,&n);printf("请输入A矩阵(%d*%d):\\n",m,n);for(i=0;i<m;i++)for(j=0;j<n;j++)scanf("%d",&array_a[i][j]);printf("请输入B矩阵(%d*%d):\\n",n,m);for(i=0;...

...使用cin输入一个矩阵的行数和列数,再输入矩阵内容。则怎样用语句检测...
void cgetin(int row,int line,char*sum){ printf("请输入%d行和%d列的矩阵的数据:\\n",row,line);int row_c,line_c,sum_c=0;for(line_c=0;line_c<line;line_c++){ for(row_c=0;row_c<row;row_c++){ sum[sum_c]=getche();sum_c++;putchar(' ');} putchar('\\n');} ...

创建一个m*n的01矩阵 完整的c语言程序
include main(){ int **a;int i,j,NR,NC;printf("input row -- m value:\\n");scanf("%d",&NR);printf("input column -- n value:\\n");scanf("%d",&NC);a = (int **) malloc(sizeof(int *) * NR);for (j=0;j<NR;j++){ a[j] = (int *) malloc(sizeof(int)...

c语言数组,怎么样从键盘上输入行数和列数?
你可以这样做:(以int型为例)int **a;int m,n,i;scanf("%d%d",&m,&n); \/\/输入你此次想要创建数组的行数和列数,储存在m和n中 a=(int**)malloc(m*sizeof(int*)); \/*malloc函数在stdlib.h里面,用的时候加入这个头文件*\/for(i=0;i<m;i++)a[i]=(int*)malloc(n*size...

c语言输入两个整数n和m,输入一个n*m的整数二维数组,找出每一行的最小...
int m,n,i,j,min[10];printf("请输入行数:\\n");scanf("%d",&n);printf("请输入列数:\\n");scanf("%d",&m);for(i=0;i<n;i++){ printf("请输入第%d列的数:\\n",i+1);for(j=0;j<m;j++)scanf("%d",&a[i][j]);} for(i=0;i<n;i++){ min[i]=a[i][0];f...

C语言如何输入一个m*n的数组,m、n都从键盘输入
n < 20):");scanf("%d%d", &m, &n);3、再输入数组,使用for循环,因为n是最大行数,所以先n放在外循环:for(i = 0; i < n ; i ++){ for(j = 0; j < m ; j ++){ printf("请输入第%d行%d列的元素: ", i + 1, j + 1);scanf("%d", &a[i][j]);} } ...

相似回答
大家正在搜