求一个c语言程序 100
需要原创或是网上搜不到的c++程序,程序中需要包含函数,数组,循环结构,分支结构。请说明一下程序的作用。谢谢大神了!!!...
需要原创或是网上搜不到的c++程序,程序中需要包含函数,数组,循环结构,分支结构 。请说明一下程序的作用。谢谢大神了!!!
展开
2个回答
展开全部
C语言程序:
#include<stdio.h>
#define MAX 100 /* 最多学生人数 */
/**************************************************************/
/* 函数声明部分 */
/**************************************************************/
/* 输入 n 个学生的成绩,保存在数组 scores 中 */
void input(int scores[], int n);
/* 输出 n 个学生的成绩 */
void display(int scores[], int n);
/* 计算并返回 n 个学生的平均成绩 */
double average(int scores[], int n);
/* 返回 n 个学生的最高成绩 */
int findMaxValue(int scores[], int n);
/* 返回 n 个学生的最低成绩 */
int findMinValue(int scores[], int n);
/**************************************************************/
/* 函数调用部分(主函数) */
/**************************************************************/
void main()
{
int scores[MAX]; /* 定义数组,存储学生成绩 */
int n;
double avg;
int max, min;
printf("请输入学生人数:");
scanf("%d", &n);
input(scores, n);
avg = average(scores, n);
max = findMaxValue(scores, n);
min = findMinValue(scores, n);
printf("学生成绩:\n");
display(scores, n);
printf("平均分:%.2lf\n", avg);
printf("最高分:%d\n", max);
printf("最低分:%d\n", min);
}
/**************************************************************/
/* 函数定义部分 */
/**************************************************************/
/* 输入 n 个学生的成绩,保存在数组 scores 中 */
void input(int scores[], int n)
{
int i;
if(n > MAX) /* 使用分支结构,判断学生人数是否有效 */
{
printf("只能存储 %d 个学生的成绩\n", MAX);
return;
}
printf("请输入 %d 个成绩[0, 100]:", n);
for(i=0; i<n; i++) /* 使用循环结构,接收用户输入的 n 个成绩 */
{
scanf("%d", &scores[i]);
}
}
/* 输出 n 个学生的成绩 */
void display(int scores[], int n)
{
int i;
for(i=0; i<n; i++)
{
printf("%-6d", scores[i]);
}
printf("\n");
}
/* 计算并返回 n 个学生的平均成绩 */
double average(int scores[], int n)
{
int i;
double avg = 0;
for(i=0; i<n; i++)
{
avg += scores[i];
}
return avg / n;
}
/* 返回 n 个学生的最高成绩 */
int findMaxValue(int scores[], int n)
{
int i;
int max = -32768;
for(i=0; i<n; i++)
{
if(scores[i] > max)
{
max = scores[i];
}
}
return max;
}
/* 返回 n 个学生的最低成绩 */
int findMinValue(int scores[], int n)
{
int i;
int min = 32767;
for(i=0; i<n; i++)
{
if(scores[i] < min)
{
min = scores[i];
}
}
return min;
}
运行测试:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询