欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言练习5——数组右上半三角元素中的只乘以m

程序员文章站 2024-03-21 14:10:40
...

功能:编写程序,使数组右上半三角元素中的只乘以m。
rand()函数会产生范围0-32767的随机数,%让它于4求余,变成0-5的随机数,不过每次启动程序启动程序产生的随机数都相等。
解题思路:使用循环语句遍历数组元素,第一个循环用于控制行坐标,第2个循环用于控制列下标。

#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define  N  5
void fun(int a[][N], int m)
{
	int i,j;
    for(j=0;j<N;j++)
      for(i=0;i<=j;i++)
        a[i][j]=a[i][j]*m;
}
void main()
{ 
  int a[N][N],m, i, j;
  FILE *out;
  printf("*****The array*****\n");
  for(i=0;i<N;i++)
        { for(j=0;j<N;j++)
        	{a[i][j]=rand()%20;
         	printf("%4d", a[i][j]);
        	}
        printf("\n");
    	}
  m=rand()%4;
  printf("m=%4d\n",m);
  fun(a,m);
  printf("THE RESULT\n"); 
  for(i=0;i<N;i++)
     { for(j=0;j<N;j++) 
          printf("%4d",a[i][j]);
       printf("\n");
     }
  /******************************/
  out=fopen("out.dat","w");
  for(i=0;i<N;i++)
    	for(j=0;j<N;j++)
		a[i][j]=i*j;
  fun(a,8);
  for(i=0;i<N;i++)
  { 	for(j=0;j<N;j++)
		fprintf(out,"%4d",a[i][j]);
	fprintf(out,"\n");
  }
  fclose(out);
  /******************************/
}