c - 将数组中的数字转换为星星

标签 c arrays

我希望有人能帮助我。 我想在数组的输出中创建星号“*”而不是我的数字,即 10 个数字。

示例

输入 数量 1:3 数量 2: 2 数字10:5

输出 1号: *** 2号: ** 10号:*****

但我总是得到相同数量的星星。 谢谢!亲爱的哈曼

#include <stdio.h>

int main()
{
    int tal[10], i, j, z;

    printf("Mata in tio tal mellan 0 och 60:\n");
    for(z=0;z<10;z++)
    {
        printf("Tal %d: ", z+1);
        scanf("%d",&tal[i]);
    }


printf("\nRita ut stapeldiagram:\n");
for(z=0;z<10;z++)
{
    printf("Tal %d: ", z + 1);

    for (j=0; j<i; j++)
    {
        printf("*");
    }
    printf("\n");
}


    return 0;
}

最佳答案

这是你的错误。打印星号的内部 for 循环正在重新定义迭代索引 i。简单的解决方法是在这一行中使用一个新变量,例如 j:

for (i=0; i<tal; i++)

对此:

for (int j=0; j<tal; j++)

关于c - 将数组中的数字转换为星星,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58054478/

相关文章:

c - 求将 16 位无符号整数转换为 double 的函数的逆函数

php - php 数组中的排序

sql - Postgresql - 从选择中删除元素的 Array_remove

python - 重新编号数组中元素的有效方法

arrays - 在 Spark Scala Dataframe 中迭代具有动态大小的数组列

c - 形式论证中如何修改结构变量

C 尝试在数组中搜索特定数字

c - 我有以下 gcc 编译警告

c - 如何使用 RubyInline 将 ruby​​ 数组转换为 C 数组?

java - 无法使用 get(index) 显示对象数组