- 题目一:
函数fun的功能:计算形参x所指数组中N个数的平均值,作为函数值返回
并将大于平均值的数放在形参y所指数组中,在主函数中输出。
#include<stdlib.h>
#include<stdio.h>
#define N 10
double fun(double * x, double * y) /* double *x 效果和 double x[]一样 */
{
int i, j; double av;
double sum = 0.0;
av = 0.0;
/*求x数组的和*/
for (i = 0; i<N; i++)
sum = sum + x[i] ;
/*求平均数*/
av = sum / N;
/****将比平均数大的数压入数组y中***/
/***注意:将数字压入数组y中用的方法***/
for (i = j = 0; i<N; i++)
if (x[i]>av)
y[j++] = x[i];
return av;
}
void main()
{
int i; double x[N], y[N];
for (i = 0; i<N; i++)
{
/*产生N个随机数并压入数组x中*/
x[i] = rand() % 30;
printf("%4.0f ", x[i]);
}
printf("\n");
printf("平均数是: %.2f\n", fun(x, y));
/*注意:因为数组y大小为N,但数组y一定用不完,
没有数据的位置会被系统赋值一个负数,所以只选用正数*/
for (i = 0; y[i] >= 0; i++)
printf("y[%d]=%5.1f ", i,y[i]);
printf("\n");
}
- 题目二:函数fun的功能是:根据整型参数m,计算如下公式的值
/*函数fun的功能是:根据整型参数m,计算如下公式的值*/
#include<stdio.h>
#include <stdlib.h>
double fun(int m)
{
int i = 100;
double sum = 0.0;
double sum1 = 0.0;
while (i <= m)
{
sum1 = (double)i*(double)i;
sum = sum + 1.0 / sum1;
i = i + 100;
}
return sum;
}
void main()
{
int m;
scanf("m=%d", &m);
printf("结果为:%f", fun(m));
}
- 已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。编写函数fun,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)
/*已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中
编写函数fun,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)*/
#include<stdio.h>
#include<string.h> /*操作字符数组的库*/
#include<conio.h>
#include<stdlib.h>
#define N 10
/*定义结构体数组*/
typedef struct ss /*ss结构体名*/
{
char num[10];
int s;
}STU; /*结构体变量名*/
void fun(STU a[], STU *s)
{
int i;
*s = a[0];
for (i = 0; i < N; i++)
{
if (s->s>a[i].s)
*s = a[i];
}
}
void main()
{
FILE *wf;/*一个指向文件的指针*/
STU a[N] = { { "A01", 81 }, { "A02", 89 }, { "A03", 66 }, { "A04", 87 }, { "A05", 77 },
{ "A06", 90 }, { "A07", 79 }, { "A08", 61 }, { "A09", 80 }, { "A10", 71 } };
STU m;
int i;
/*system("CLS");*/
printf("*****The original data*****\n");
for (i = 0; i<N; i++)
printf("No=%s Mark=%d\n", a[i].num, a[i].s);
fun(a, &m);
printf("*****THE RESULT*****\n");
printf("The lowest :%s, %d\n", m.num, m.s);
/******************************/
wf = fopen("out.dat", "w");
fprintf(wf, "%s, %d", m.num, m.s);
fclose(wf);
}
继续更。。。奥力给