qq_73207659 2022-08-18 14:32 采纳率: 100%
浏览 41
已结题

有个bug不知道在哪里

输出一个整数序列中最大的数和最小的数的差。

【输入】
第一行为M,表示整数个数,整数个数不会大于10000;

第二行为M个整数,以空格隔开,每个整数的绝对值不会大于10000。

【输出】
输出M个数中最大值和最小值的差。

【输入样例】
5
2 5 7 4 2
【输出样例】
5
#include
using namespace std;
int main()
{int max=-10001;int min=10001;
int n;
scanf("%d",&n);
int a[n];
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(a[i]>=max)
{
max=a[i];
}
if(a[i]<=min)
{
min=a[i];
}
}
printf("%d",max-min);

}

  • 写回答

6条回答 默认 最新

  • 於黾 2022-08-18 14:38
    关注

    int a[n];
    这个语法是错的
    首先,在每个块内,所有的定义必须在所有的代码前面,你这个定义在scanf后面就是错的
    其次只有C99才支持数组长度放变量,低版本数组长度必须是常量
    已经告诉了你不超过10000个数,你直接定义成a[10000]即可

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 8月26日
  • 已采纳回答 8月18日
  • 创建了问题 8月18日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度