从键盘上输入若干学生的成绩,统计并输出最高和最低成绩吗,当输入负数时结束。

描述:从键盘上输入若干学生的成绩,统计并输出最高和最低成绩吗,当输入负数时结束。

输入样例:
75 73 89 92 100

输出样例:
最高成绩为:100
最低成绩为:73

限制
时间限制: 1000 ms

内存限制: 65536 KB

思路:利用一个while循环,设定第一个输入值既为最大值也为最小值,将每一个输入的值都与最大值进行比较,当大于最大值时,将其值赋值为最大值,当小于最小值时将其赋值为最小值。当输入值小于0时,结束循环。

#include <stdio.h>

int main()
{
	float score,max,min; 
	scanf("%f",&score);//输入成绩 
	max=score;		//初始时将第一个成绩既定为最大值也定为最小值 
	min=score;
	while(score>=0)
	{
		if(score>max) //如果输入的成绩大于最大值,则将输入的成绩赋值给最大值 
		max=score;
		if(score<min)	//如果输入的成绩小于最小值,则将输入的成绩赋值给最小值
		min=score;
		scanf("%f",&score); 
	}
	printf("最高成绩为:%f\n最低成绩为:%f\n",max,min);
	
	
	return 0;
}
  • 18
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
### 回答1: 好的,以下是用中文回复: 首先,需要使用循环语句来不断地输入学生成绩,直到输入负数为止。可以使用while循环或do-while循环。 在循环中,需要使用if语句来判断输入成绩是否为负数,如果是负数,则跳出循环。 同,需要定义两个变量,一个用来记录最高成绩,一个用来记录最低成绩。在每次输入成绩,需要与这两个变量进行比较,更新最高成绩最低成绩。 最后,输出最高成绩最低成绩即可。 具体实现可以参考以下代码: int score, max_score = , min_score = 100; // 定义变量,初始值分别为和100 while (true) { // 循环输入成绩 cout << "请输入学生成绩:"; cin >> score; if (score < ) { // 判断是否为负数,是则跳出循环 break; } if (score > max_score) { // 更新最高成绩 max_score = score; } if (score < min_score) { // 更新最低成绩 min_score = score; } } cout << "最高成绩为:" << max_score << endl; // 输出最高成绩 cout << "最低成绩为:" << min_score << endl; // 输出最低成绩 ### 回答2: 当需要从键盘输入若干学生成绩,我们需要使用循环语句来不断接收用户的输入。在这个过程中,我们需要设置一个循环条件,当用户输入了一个负数,循环结束。这可以实现如下: ```python # 初始化最高成绩最低成绩为0 max_score = 0 min_score = 0 # 循环接收用户输入,直到输入负数为止 while True: score = int(input("请输入学生成绩:")) if score < 0: break # 当用户输入负数,退出循环 # 判断是否为最高最低成绩,更新最高最低成绩的值 if score > max_score: max_score = score if min_score == 0 or score < min_score: min_score = score # 输出最高最低成绩 print("最高成绩为:", max_score) print("最低成绩为:", min_score) ``` 在这段代码中,我们使用了一个`while True`的循环语句来一直接收用户的输入。当用户输入负数,我们使用`break`语句来退出循环。在每次接收到用户的输入,我们需要判断这个数字是否是最高最低成绩,如果是,我们就更新最高最低成绩的值。最后,我们输出最高最低成绩。 ### 回答3: 这个问题是一个简单的数学问题,需要我们利用程序来实现。 我们可以用一个循环语句来读取学生成绩,每读取一个成绩就进行一次比较,找出最高成绩最低成绩。首先,我们需要定义两个变量来记录最高最低成绩,我们可以将它们初始化为-1和101,这样可以避免出现不合法的成绩。 然后,在循环中,我们读取输入成绩,如果成绩小于0,则跳出循环。否则将输入成绩与当前的最高最低成绩进行比较,如果成绩最高成绩还高,则更新最高成绩,如果比最低成绩还低,则更新最低成绩。 最后,输出最高最低成绩即可。 下面是一个示例代码: ``` #include <iostream> using namespace std; int main() { int score, maxScore = -1, minScore = 101; do { cout << "请输入学生成绩:"; cin >> score; if (score < 0) { break; } if (score > maxScore) { maxScore = score; } if (score < minScore) { minScore = score; } } while (true); cout << "最高成绩是:" << maxScore << endl; cout << "最低成绩是:" << minScore << endl; return 0; } ``` 在这个程序中,我们使用了do-while循环,因为我们至少需要读取一个学生成绩后才能进行比较。如果使用while循环,则需要在循环外先读取一个初始值,这样会增加代码的复杂度。 此外,我们在循环内部使用了两个if语句来分别和最高最低成绩进行比较,这样可以保证我们统计出的最高最低成绩是正确的。 最后,我们输出最高成绩最低成绩,这样就完成了题目的要求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值