| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
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 
 
 |   
 
 
 
 |