用c语言编写程序:一个班10个学生的成绩,存放在一个一维数组中,要求找出其中成绩最高的学生的成绩和该生的序号。
时间: 2024-03-23 13:43:25 浏览: 33
好的,以下是用C语言编写的程序,可以实现一个班10个学生的成绩,存放在一个一维数组中,找出其中成绩最高的学生的成绩和该生的序号。
```c
#include <stdio.h>
int main() {
int scores[10];
int maxScore = 0, maxIndex = 0;
printf("请输入10个学生的成绩:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &scores[i]);
if (scores[i] > maxScore) {
maxScore = scores[i];
maxIndex = i;
}
}
printf("最高分为:%d,学生序号为:%d\n", maxScore, maxIndex);
return 0;
}
```
程序中定义了一个包含10个元素的整型数组`scores`,并用循环语句读入10个学生的成绩。在循环过程中,用变量`maxScore`记录最高分,用变量`maxIndex`记录最高分对应的学生序号。最后输出最高分和对应的学生序号即可。
相关问题
使用C语言编写程序,要求:输入5个字符串,从中找出最大的字符串并输出。要求用二维字符数组存放这5个字符串。
下面是一个简单的程序,可以实现你的需求:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100 // 字符串的最大长度
int main() {
char strings[5][MAX_LEN]; // 存放5个字符串的二维字符数组
int max_index = 0; // 最大字符串的下标
int i;
// 输入5个字符串
for (i = 0; i < 5; i++) {
printf("请输入第%d个字符串:", i + 1);
scanf("%s", strings[i]);
}
// 找出最大的字符串
for (i = 1; i < 5; i++) {
if (strcmp(strings[i], strings[max_index]) > 0) {
max_index = i;
}
}
// 输出最大字符串
printf("最大字符串是:%s\n", strings[max_index]);
return 0;
}
```
程序中,我们使用了一个二维字符数组 `strings` 存放5个字符串,每个字符串的最大长度为100。然后我们使用循环输入这5个字符串,并在循环后使用 `strcmp` 函数比较字符串的大小,找出最大字符串的下标。最后输出最大字符串即可。
编写一个C语言程序:从键盘输入8个整数并存放于一维数组中,将该数组的最小值和数组的最后一个数进行交换,输出变化后的数组。
好的,以下是您所需的C语言程序代码:
```c
#include <stdio.h>
int main()
{
int num_list[8]; // 定义一个数组,用于存放8个整数
int i, min_index, temp;
// 输入8个整数,并添加到数组中
for (i = 0; i < 8; i++)
{
printf("请输入第%d个整数:", i+1);
scanf("%d", &num_list[i]);
}
// 找出最小值的索引
min_index = 0;
for (i = 1; i < 8; i++)
{
if (num_list[i] < num_list[min_index])
{
min_index = i;
}
}
// 将最小值和最后一个数进行交换
temp = num_list[min_index];
num_list[min_index] = num_list[7];
num_list[7] = temp;
// 输出变化后的数组
printf("变化后的数组为:");
for (i = 0; i < 8; i++)
{
printf("%d ", num_list[i]);
}
printf("\n");
return 0;
}
```
这个程序会提示您输入8个整数,然后将这些整数存储在一个数组中。接着,程序会找出这个数组中的最小值,并将其与数组最后一个元素进行交换。最后,程序会输出交换后的数组。