某班有10个学生的,编写一个函数inputscore,实现从键盘上录入10名学生的成绩,存入数组中
时间: 2024-05-12 11:14:19 浏览: 88
下面是一个简单的 Python 函数 `inputscore`,可以实现从键盘上录入10名学生的成绩,并将它们存储到一个数组中:
```python
def inputscore():
scores = [] # 创建一个空列表,用于存储成绩
for i in range(10):
score = input("请输入第%d个学生的成绩:" % (i+1))
scores.append(float(score)) # 将成绩转换为浮点数并添加到列表中
return scores
```
使用方法:
```python
scores = inputscore()
print(scores)
```
运行程序后,依次输入每个学生的成绩,最后会将这些成绩存储到一个长度为10的数组 `scores` 中,并输出该数组的内容。
相关问题
C语言请编写一个函数inputData,从键盘输入10名学生的学号(长度为10的字符串,例如2019010001)和成绩(浮点数,例如85.50),分别存储于数组nos和scores中,然后再编写一个函数findData实现给定一个学号,从nos中找到其所在位置并输出其学号和相应的成绩信息。要求在main函数中先后对inputData和findData函数进行调用以验证其正确性。最后再编写一个函数findstu实现给定成绩,找到对应学生的学号,并输出其学号和相应的成绩信息
以下是 C 语言代码实现:
```c
#include <stdio.h>
#include <string.h>
void inputData(char nos[][11], float scores[]);
void findData(char nos[][11], float scores[]);
void findstu(char nos[][11], float scores[]);
int main() {
char nos[10][11];
float scores[10];
// 输入学号和成绩信息
inputData(nos, scores);
// 查找学号对应的成绩信息
findData(nos, scores);
// 查找成绩对应的学号信息
findstu(nos, scores);
return 0;
}
void inputData(char nos[][11], float scores[]) {
printf("请输入10名学生的学号和成绩:\n");
for (int i = 0; i < 10; i++) {
printf("请输入第%d名学生的学号:", i + 1);
scanf("%s", nos[i]);
printf("请输入第%d名学生的成绩:", i + 1);
scanf("%f", &scores[i]);
}
}
void findData(char nos[][11], float scores[]) {
char search_no[11];
int position = -1;
printf("\n请输入要查找的学生学号:");
scanf("%s", search_no);
// 在学号数组中查找对应学号的位置
for (int i = 0; i < 10; i++) {
if (strcmp(nos[i], search_no) == 0) {
position = i;
break;
}
}
// 输出查找结果
if (position != -1) {
printf("学生学号:%s\n", nos[position]);
printf("学生成绩:%.2f\n", scores[position]);
} else {
printf("未找到该学生信息!\n");
}
}
void findstu(char nos[][11], float scores[]) {
float search_score;
int found = 0;
printf("\n请输入要查找的成绩:");
scanf("%f", &search_score);
// 在成绩数组中查找对应成绩的学号
for (int i = 0; i < 10; i++) {
if (scores[i] == search_score) {
printf("学生学号:%s\n", nos[i]);
printf("学生成绩:%.2f\n", scores[i]);
found = 1;
}
}
// 输出查找结果
if (!found) {
printf("未找到该成绩对应的学生信息!\n");
}
}
```
在 main 函数中,先调用 inputData 函数输入学号和成绩信息,再调用 findData 函数查找学号对应的成绩信息,最后调用 findstu 函数查找成绩对应的学号信息。
inputData 函数中利用二维字符数组存储学号信息,利用一维浮点数数组存储成绩信息。通过 for 循环依次输入 10 名学生的学号和成绩信息。
findData 函数中先输入要查找的学生学号,然后利用 for 循环在学号数组中查找对应学号的位置。如果找到了对应的位置,则输出该学号对应的成绩信息;否则提示未找到该学生信息。
findstu 函数中先输入要查找的成绩,然后利用 for 循环在成绩数组中查找对应成绩的学号。如果找到了对应的学号,则输出该学号对应的成绩信息;否则提示未找到该成绩对应的学生信息。
c语言编程将一个班的学生的成绩存入一个数组中,运用函数统计及格人数
下面是一个简单的 C 语言程序,实现了将一个班的学生的成绩存入一个数组中,并使用函数统计及格人数。
```c
#include <stdio.h>
#define MAX_SIZE 100
int countPass(int scores[], int n);
int main() {
int n, i, scores[MAX_SIZE];
printf("请输入学生人数:");
scanf("%d", &n);
printf("请输入学生成绩:");
for (i = 0; i < n; i++) {
scanf("%d", &scores[i]);
}
printf("及格人数为:%d\n", countPass(scores, n));
return 0;
}
int countPass(int scores[], int n) {
int count = 0, i;
for (i = 0; i < n; i++) {
if (scores[i] >= 60) {
count++;
}
}
return count;
}
```
在上面的程序中,我们首先定义了一个 `MAX_SIZE` 常量,表示数组的最大容量。然后,在 `main` 函数中,我们先读入学生人数 `n`,然后使用 `for` 循环读入每个学生的成绩,并将其存入 `scores` 数组中。
接着,我们调用 `countPass` 函数,统计及格人数。在 `countPass` 函数中,我们使用 `for` 循环遍历 `scores` 数组,如果某个学生的成绩大于等于 60 分,则将计数器加 1。
最后,我们将统计结果返回给 `main` 函数,并输出结果。
阅读全文