计算机二级c

  • 题目一:
    函数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);
}

继续更。。。奥力给

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

四硕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值