C语言-实现矩阵的转置-随机函数产生随机数并赋予数组中-190222

//编写程序,实现矩阵的转置(行列互换)。

 1 #include <stdio.h>
 2 #include <conio.h>
 3 #include <stdlib.h>
 4 
 5 void fun (int array[3][3])
 6 {
 7     int i,j,t;
 8     for (i = 0; i < 3; i++)
 9     {
10         for (j = 0; j < 3; j++)
11         {
12             if (j >= i)//控制交换的数。
13             {
14                 t = array[i][j];
15                 array[i][j] = array[j][i];
16                 array[j][i] = t;
17             }
18         }
19     }
20 }
21 void main()
22 {
23   FILE *wf;
24   int i,j;
25   int array [3][3]={{100,200,300},{400,500,600},{700,800,900}};
26   system("CLS");//清屏
27   for (i=0;i<3;i++)
28      {for (j=0;j<3;j++)
29           printf("%7d ",array[i][j]);
30       printf("\n ");
31      }
32   fun(array);//不是值传递,可以双向传递。
33   printf("Converted array:\n ");
34   for (i=0;i<3;i++)
35      { for (j=0;j<3;j++)
36           printf("%7d ",array[i][j]);
37        printf("\n ");
38      }   
39 /******************************/
40   wf=fopen("out.dat","w");//对文件读操作
41   for (i=0;i<3;i++)
42      { for (j=0;j<3;j++)
43           fprintf(wf,"%7d ",array[i][j]);
44        fprintf(wf,"\n");
45      }   
46   fclose(wf);
47 /*****************************/
48 }

//函数fun功能是:调用随机函数产生20个互不相同的整数放在形参a所指向的数组中。

 1 #include  <stdlib.h>
 2 #include  <stdio.h>
 3 #define   N  20
 4 void  fun( int  *a)
 5 { int  i, x, n=0;
 6   x=rand()%20;
 7 /**********found**********/
 8   while (n<N)
 9   {  for(i=0; i<n; i++ )
10 /**********found**********/
11          if( x==a[i] ) 
12             break;//判断是否重复。
13 /**********found**********/
14      if( i==n)
15         { a[n]=x; n++; }//赋值
16      x=rand()%20;
17   }
18 }
19 void main()
20 { int  x[N]={0} ,i;
21   fun( x );
22   printf("The result :  \n");
23   for( i=0; i<N; i++ )
24   { printf("%4d",x[i]);
25     if((i+1)%5==0)printf("\n");//一行5个元素。
26   }
27   printf("\n\n");
28 }

 

转载于:https://www.cnblogs.com/ming-4/p/10416947.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值