|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 haiouda 于 2015-3-20 14:58 编辑
- /****************************************
- 写一个函数,将一个 3*3 的整型矩阵转置。
- ****************************************/
- #include <stdio.h>
- #define xx 4 //设置矩阵大小
- #define xx1 10 //设置矩阵单元大小
- int main()
- {
- char temp,a[xx][xx][xx1]={0},*c[xx*xx],*d[xx*xx];
- int i,k,p,j=0;
-
- for (i=0;i<xx;i++) //输入矩阵,每次回车,代表一个字符串(矩阵单元)输入结束
- {
- for (k=0;k<xx;k++,j++)
- {
- c[j]=a[i][k];
- for (p=0;p < xx1 ;p++)
- {
- temp=getchar();
-
-
- if(temp=='\n')
- {
- a[i][k][p]='\0';
- break;
- }
- a[i][k][p]=temp;
- }
- }
- }
- printf("\n");
-
-
- for(k=0,j=0;k<xx;k++) //矩阵顺时针旋转90度
- {
- for(i=xx-1;i>=0;i--,j++)
- {
- d[j]=a[i][k];
-
- }
- }
- for (j=0,k=1;j<xx*xx;j++,k++)
- {
-
- printf("%s ",c[j]); // 打印原矩阵
- if (k%xx==0)
- {
- printf("\n");
- }
-
- }
-
- printf("\n");
-
- for (j=0,k=1;j<xx*xx;j++,k++) //打印旋转后的矩阵
- {
-
-
- printf("%s ",d[j]);
- if (k%xx==0)
- {
- printf("\n");
- }
-
- }
-
- return 0;
-
- }
复制代码
课后练习,费了我好几小时脑细胞,终于搞出来了:big
|
|