如何在C语言中将输入数字转换为对应数量的星号符号输出?
核心修改点
你现有代码的问题如下:
- 没有提前读取用户输入的3个数字存入数组
- 内层循环的星号打印次数用了外层循环变量
i,而非用户输入的数字 - 多余的
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
相关产品推荐
相关产品推荐

