C语言输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出
时间: 2024-10-21 19:09:55 浏览: 77
计算正整数的最大值和平均值
在C语言中,输入字符型数据并转换为整数需要用户输入,然后使用`atoi`函数(对于旧版本的C,可以用`strtol`替代),接着计算平均值并输出。以下是示例程序:
```c
#include <stdio.h>
#include <stdlib.h>
double calculate_average(const char* input[], int count) {
double total = 0;
for (int i = 0; i < count; i++) {
long int number;
if (sscanf(input[i], "%ld", &number) == 1) { // sscanf用于安全地从字符串读取整数
total += number;
} else {
printf("无法转换输入 %s 为整数。\n", input[i]);
return -1; // 或者在这里返回错误代码
}
}
return total / count;
}
int main() {
const char* inputs[] = {"5", "7", "3"}; // 输入的字符数组
int num_inputs = sizeof(inputs) / sizeof(inputs[0]);
double avg = calculate_average(inputs, num_inputs);
if (avg != -1) {
printf("平均值为: %.1f\n", avg);
}
return 0;
}
```
在这个程序里,我们定义了一个函数`calculate_average`,它接收一个字符数组和数组长度,然后逐个尝试将字符转换为整数并累加。最后,主函数调用这个函数并打印平均值。
注意:`sscanf`函数在遇到非数字字符时不会继续解析,所以如果有非法输入,会被视为无效。
阅读全文