Online Compiler C

#include <stdio.h> int main() { char c; long long average=0,sum=0,i=0; while ((c=getchar())!='.'){ sum=sum+c-'0'; i++; } average=sum/i; printf("%lld",average); return 0; }
这段代码试图从输入中读取一串数字(直到遇到句点),计算这些数字的平均值并输出整数部分。代码逻辑基本正确,但存在几个需要注意的问题。

- 变量 `c` 应该声明为 `int` 类型,因为 `getchar()` 返回的是 `int`,用 `char` 可能导致无法正确判断文件结束符(EOF)或某些字符。
- 计算平均值时,`sum/i` 是整数除法,会直接截断小数部分,而不是四舍五入。如果要得到更精确的结果,需要考虑浮点数运算或四舍五入的处理。