C语言程序开发实例(五)

学习C语言程序开发范例

实例029 模拟比赛打分

首先从键盘中输入选手人数,然后输入对每个选手的打分情况。这里假设裁判有5位,在输入完以上要求内容后,输出每个选手的成绩。
假设有五位选手,每位裁判对每位选手的打分已知,请编程输出每个选手的成绩。

#include <string.h>
#include <stdio.h>
main()
{
   
	int i, j = 1, n;
	float a[100], b[100], sum = 0;
	printf("\nEnter the number of players:\n");
	scanf("%d", &n);       /*从键盘中输入选手的人数*/
	for (i = 1; i <= n; i++)
	{
   
		printf("now player %d\n", i);
		printf("please input score:\n");
		for (; j < 5 * n + 1; j++)
		{
   
			scanf("%f", &a[j]);    /*输入5个裁判每个裁判所给的分数*/
			sum += a[j];    /*求出总分数*/
			if (j % 5 == 0)    /*一位选手有5个裁判给打分*/
				break;
		}
		b[i] = sum;    /*将每个选手的总分存到数组b中*/
		sum = 0;    /*将总分重新置0*/
		j++;    /*j自加*/
	}
	j = 1;
	printf("player       judgeA  judgeB  judgeC  judgeD  judgeE    total\n");
	for (i = 1; i <= n; i++)
	{
   
		printf("player %d", i);    /*输出几号选手*/
		for (; j < 5 * n + 1; j++)
		{
   
			printf("%8.1f", a[j]);    /*输出裁判给每个选手对应的分数*/
			if (j % 5 == 0)
				break;
		}
		printf("%8.1f\n", b[i]);    /*输出每个选手所得的总成绩*/
		j++;
	}
}

运行结果:
在这里插入图片描述

  • 根据本实例,可以举一反三,在本实例的基础上改进程序,即去掉每个选手的最高分和最低分,计算出选手的平均得分;输入学生3门功课成绩,并找出每门功课的最高分及不及格人数。
实例030 对调最大与最小数位置

从键盘中输入一组数据,找出这组数据中最大数与最小数,将最大数与最小数位置互换,将互换后的这组数据再次输出。
本实例的主要思路为:首先是要确定最大数与最小数的具体位置,将a[0]赋给min,用min和数组中其他元素比较,有比min小的,则将这个较小的值赋给min,同时将其所在位置赋给j,当和数组中元素均比较一次后,此时j中存放的就是数组中最小元素所在的位置。最大元素位置的确定同最小元素。当确定具体位置后将这两个元素位置互换,最后将互换后的数组输出。

#include<stdio.h>
main()
{
   
	int a[20], max, min, i, j, k, n;
	printf("please input the number of elements:\n")
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值