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

如何在C语言中将输入数字转换为对应数量的星号符号输出?

核心修改点

你现有代码的问题如下:

  1. 没有提前读取用户输入的3个数字存入数组
  2. 内层循环的星号打印次数用了外层循环变量i,而非用户输入的数字
  3. 多余的printf("%d ",i);逻辑会额外输出数字,不符合输出要求

完整可运行代码

#include <stdio.h>

int main() {
    // 定义数组存储3个输入的数字
    int nums[3];
    // 从键盘读取3个数字存入数组
    for (int i = 0; i < 3; i++) {
        scanf("%d", &nums[i]);
    }
    // 遍历数组输出对应数量的星号
    for (int i = 0; i < 3; i++) {
        // 内层循环次数等于当前数组存储的数字大小
        for (int j = 0; j < nums[i]; j++) {
            printf("*");
        }
        // 每行星号打印完成后换行
        printf("\n");
    }
    return 0;
}

实现说明

你需要的数字转对应数量星号的核心逻辑很简单:让内层循环的执行次数等于你读取到的目标数字即可,每次循环打印1个星号,循环结束后换行处理下一个数字的输出。你输入1、5、4时就会依次输出1个、5个、4个星号,完全匹配你要求的输出效果。

内容的提问来源于stack exchange,提问作者Harli Lacej

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 16:06:04