You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Dev-C++编写C程序:整数数组转浮点输出并统计奇偶

完善你的C程序实现需求

我看了你的代码,有几个小问题需要调整,下面是修复并完善后的完整代码,完全适配Dev-C++的编译环境:

#include<stdio.h>

int main() {
    int M, i, even = 0, odd = 0;
    
    // 先读取数组大小M
    printf("Input array size: ");
    scanf("%d", &M);
    
    // 读取M后再定义变长数组(Dev-C++的GCC支持变长数组)
    int a[M];
    float b[M];
    
    // 读取数组元素
    for (i = 0; i < M; i++) {
        printf("Enter a[%d] = ", i);
        scanf("%d", &a[i]);  // 修正地址,指向数组的第i个元素
        b[i] = (float)a[i];  // 将int类型转换为float类型,存入b数组
    }
    
    // 以保留3位小数的格式输出数组
    printf("\nOriginal array (3 decimal places): ");
    for (i = 0; i < M; i++) {
        printf("%.3f ", b[i]);
    }
    
    // 统计奇数和偶数的数量
    for (i = 0; i < M; i++) {
        if (a[i] % 2 == 0) {
            even++;
        } else {
            odd++;
        }
    }
    
    // 输出统计结果
    printf("\n\nNumber of even numbers: %d", even);
    printf("\nNumber of odd numbers: %d", odd);
    
    return 0;  // 标准main函数的返回值
}

关键修改点说明:

  • 调整数组定义顺序:先读取用户输入的M,再定义数组a和b,避免未初始化变量M导致的数组大小异常。
  • 修正输入地址:把scanf(" %d",&a);改成scanf("%d", &a[i]);,确保每个输入值存入数组对应的位置。
  • 添加类型转换逻辑:把int数组的元素转换成float类型存入b数组,满足输出保留三位小数的要求。
  • 完善输出和统计逻辑:补充了数组输出循环,以及遍历数组统计奇偶的循环,并输出最终统计结果。
  • 规范main函数:把void main()改成标准的int main()并添加return 0;,符合C语言标准。

你可以直接把这段代码复制到Dev-C++中编译运行,测试不同的数组大小和元素,就能看到符合需求的输出效果啦。

内容的提问来源于stack exchange,提问作者Anime Lover

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:46:09