详细代码如下:
#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");
}