编程 输入三个字符型数据,将其转换成相应整数后,求平均值

2025-02-24 21:27:20
推荐回答(2个)
回答1:

#include

double num_aver(char a, char b, char c)
{
if (a < '0' || a > '9' || b < '0' || b > '9' || c < '0' || c > '9' )
{
printf("请输入0-9的数字!\n");
return -1.0; //若输入数字不是0-9,则返回-1
}
double aver;
int num_a, num_b, num_c;
num_a = a - '0';
num_b = b - '0';
num_c = c - '0';
aver = (num_a + num_b + num_c + 0.0) / 3;
printf( "三个数的平均值为:%f\n", aver );
return aver;
}

double char_aver(char a, char b, char c)
{
double aver = ( a + b + c + 0.0 )/3;
printf( "三个字符的平均值为:%f\n", aver );
return aver;
}

int main()
{
char a, b, c;
double aver_n, aver_ch;
printf( "请输入三个字符!\n" );
scanf("%c %c %c", &a, &b, &c);
aver_n = num_aver(a,b,c);//此处求数字的平均
aver_ch = char_aver(a,b,c);//此时求字符的平均
return 0;
}
//不是很确定你到底是要字符的平均还是数的平均,所以两个都做了,你看看需要哪个吧!
//注意输入的时候,a b c之间间隔要用空格,tab,或者回车啊!

回答2:

char a, b, c;
a = 'a';
b = 'b';
c = 'c';
int var, final;
var = a + b + c; // 这里字符型会自动升级为整型
final = var/3;
// 由于手上没有编译器无法验证结果
// 即便有编译错误 大致意思应该没有错 仅供参考