c语言定义一个函数input()来录入一批成绩,直到输入-1结束 返回实际录入成绩个数*
时间: 2024-02-27 19:55:48 浏览: 43
好的,以下是一个 C 语言程序,实现了您所描述的功能:
```c
#include <stdio.h>
int input()
{
int score, count = 0;
printf("请输入成绩(输入-1结束):\n");
while (1) {
scanf("%d", &score);
if (score == -1) {
break;
}
count++;
}
return count;
}
int main()
{
int count = input();
printf("实际录入成绩个数:%d\n", count);
return 0;
}
```
程序中的 `input` 函数通过循环读取输入的成绩,如果输入的成绩为 -1 则跳出循环。每读取一个成绩,就将计数器 `count` 加一。循环结束后,函数返回计数器的值。`main` 函数调用 `input` 函数来获取实际录入成绩个数,并输出结果。
相关问题
用C语言写一个录入字符串数组的函数
void inputArray(char str[][MAXLEN], int n) {
int i;
for(i=0; i<n; i++) {
printf("请输入第%d个字符串:\n", i+1);
scanf("%s", str[i]);
}
}
//其中 MAXLEN 定义为字符串最大长度。函数接收两个参数,一个是字符串数组名,另一个是数组长度,循环输入每个字符串。输入时,用 %s 格式符即可。
可连续录入几个航班信息,并在另一个函数中列出来,c语言代码
可以使用结构体来存储航班信息,然后使用循环来连续录入多个航班信息,最后在另一个函数中遍历结构体数组并输出所有航班信息。以下是示例代码:
```c
#include <stdio.h>
#define MAX_FLIGHTS 10
// 定义航班信息结构体
typedef struct {
char flight_num[10];
char departure[20];
char destination[20];
int departure_time;
} Flight;
// 录入航班信息并返回录入的航班数目
int input_flights(Flight flights[]) {
int i;
for (i = 0; i < MAX_FLIGHTS; i++) {
printf("请输入第%d个航班信息:\n", i + 1);
printf("航班号:");
scanf("%s", flights[i].flight_num);
if (flights[i].flight_num[0] == '0') {
// 输入0表示结束录入
break;
}
printf("出发地:");
scanf("%s", flights[i].departure);
printf("目的地:");
scanf("%s", flights[i].destination);
printf("出发时间:");
scanf("%d", &flights[i].departure_time);
}
return i;
}
// 输出所有航班信息
void print_flights(Flight flights[], int num_flights) {
printf("所有航班信息:\n");
int i;
for (i = 0; i < num_flights; i++) {
printf("航班号:%s,出发地:%s,目的地:%s,出发时间:%d\n",
flights[i].flight_num, flights[i].departure,
flights[i].destination, flights[i].departure_time);
}
}
int main() {
Flight flights[MAX_FLIGHTS];
int num_flights = input_flights(flights);
print_flights(flights, num_flights);
return 0;
}
```
在上面的代码中,`input_flights` 函数用于录入航班信息,返回录入的航班数目;`print_flights` 函数用于输出所有航班信息,需要传入航班信息结构体数组和航班数目。在 `main` 函数中,首先定义了一个大小为 `MAX_FLIGHTS` 的航班信息结构体数组,然后调用 `input_flights` 函数录入航班信息,再调用 `print_flights` 函数输出所有航班信息。