3(右上角元素 * m)

在这里插入图片描述

详细代码如下:

#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define  N  5
void fun(int a[][N], int m)
{
    
    
  /*
	analyse:

	遍历右上部分元素
	该部分元素 * m
  */

	/* Method 1:
	int i,j;
	
	for(i = 0; i < N; i++)
	{
		for(j = 0; j <N; j++)  //特征:行小于等于列 
		{
			if(i <= j)
			a[i][j] *=  m;
		}
	}
	*/

	/* Method 2:
	int i ,j;

	for(i = 0; i < N; i++)
	{
		for(j = i; j < N; j++)   // j = i ; 直接避免了列小于行的情况
		{
			a[i][j] *= m;
		}
	}
	*/

	/* Method 3: 先遍历列 再遍历行
	int i,j;

	for(j = 0; j < N; j++)
	{
		for(i = 0; i<= j; i++)
			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);
  /******************************/
}

在这里插入图片描述
详细代码如下:

#include  <stdlib.h>
#include  <conio.h>
#include  <stdio.h>
/*************found**************/
float fun(int n)
{
    
     float A=1;int i;
/*************found**************/
  for(i=2;i<=n;i++)  // i <= n; 因为题目要求求 An 的值,所以取得到 n
     A=1.0/(1+A);
  return A;
}
void main()
{
    
     int n;
  system("CLS");
  printf("\nPlease enter n: ");
  scanf("%d",&n);
  printf("A%d=%lf\n",n,fun(n));
}

在这里插入图片描述
详细代码如下:

#include  <stdlib.h>
#include  <stdio.h>
#define   N   10
double fun(double  x[],double  *av)
{
    
     int  i,j;    double  d,s;
  s=0;
  for(i=0; i<N; i++)  s = s +x[i];
/**********found**********/
  *av =s/N;
  d=32767;
  for(i=0; i<N; i++)
    if(x[i]<*av && *av - x[i]<=d){
    
    
/**********found**********/
      d=*av-x[i]; 
	  j=i;   // 记录符合条件数 的下标 
	 }
/**********found**********/
  return  x[j];  //返回该数值
}
void main()
{
    
     int  i;    double  x[N],av,m;
  for(i=0; i<N; i++){
    
     x[i]=rand()%50; printf("%4.0f ",x[i]);}
  printf("\n");
  m=fun(x,&av);
  printf("\nThe average is: %f\n",av);
  printf("m=%5.1f ",m);
  printf("\n");
}


猜你喜欢

转载自blog.csdn.net/weixin_44856544/article/details/115258621