在线编译器 C

#include <stdio.h> int main() { int a,b,c,d,e,max,min,C; scanf("%d%d%d%d%d",&a,&b,&c,&d,&e); min = a; if(b<=min) min = b; if(c<=min) min = c; if(d<=min) min = d; if(e<=min) min = e; min = a; if(b>=min) min = b; if(c>=min) min = c; if(d>=min) min = d; if(e>=min) min = e; C=max+min; printf("%n",C) return 0; }
这段代码试图从5个整数中找出最大值和最小值,然后计算它们的和并输出。但代码中存在几个问题。

- 你重复使用了变量 `min` 来同时寻找最小值和最大值,导致第二个寻找最大值的循环覆盖了之前找到的最小值,而且你并没有使用变量 `max` 来存储最大值。
- 最后输出时使用了 `%n`,但 `%n` 不是用于打印数值的格式说明符,它用于将已打印字符数写入变量,这里应该用 `%d` 来打印整数。
- 另外,`printf` 语句末尾缺少分号。