For 循环无法正常工作以获取 c 中数组中的输入

阿卜杜拉

我正在解决一个编码问题“从输入中找到最小的数字”,我以 for 循环的形式获取输入并将它们存储在一个数组中。对于小于 11 的总输入它工作正常,但对于大于 11 的它只需要 10 个输入然后中断。

printf("HOW MANY NUMBERS DO YOU WANT TO INPUT\n");
int array_size , var1;
scanf("%d",&array_size );
var1 = array_size;
int index = 0 , array[index];
for(int index = 0; index < array_size; index++)
{
    printf("inputs left: %d\n",var1);
    var1 -= 1;
    scanf("%d",&array[index]);
}

我希望它应该根据用户的需要进行尽可能多的输入,但只需要 10 个输入,我似乎找不到问题所在。

您想创建一个大小为零的数组,这是不允许的。你也不能声明一个可变大小的数组,所以你必须使用malloc或其他东西。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("HOW MANY NUMBERS DO YOU WANT TO INPUT\n");

    int array_size;
    scanf("%d", &array_size);

    int* Array = (int *) malloc(array_size * sizeof(int));

    for(int index = 0; index < array_size; index++)
    {
        printf("inputs left: %d\n", array_size - index);
        scanf("%d", (Array + index));
    }

    for(int i = 0; i < array_size; i++)
    {
        printf("%d\n\r", *(Array + i));
    }


    free(Array);
    return 0;
}

这使

HOW MANY NUMBERS DO YOU WANT TO INPUT                                                                                                                                              
3                                                                                                                                                                                  
inputs left: 3                                                                                                                                                                     
1                                                                                                                                                                                  
inputs left: 2 
2                                                                                                                                                                                  
inputs left: 1                                                                                                                                                                     
3                                                                                                                                                                                  
1                                                                                                                                                                                  
2                                                                                                                                                                                  
3  

或者您使用类似std::vector.

#include <stdio.h>
#include <vector>

int main()
{
    printf("HOW MANY NUMBERS DO YOU WANT TO INPUT\n");

    int array_size;
    scanf("%d", &array_size);

    std::vector<int> Array;

    for(int index = 0; index < array_size; index++)
    {
        int Temp;
        printf("inputs left: %d\n", array_size - index);
        scanf("%d", &Temp);
        Array.push_back(Temp);
    }

    for(int i = 0; i < array_size; i++)
    {
        printf("%d\n\r", Array.at(i));
    }

    return 0;
}

这导致相同的输出。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C char输入无法通过switch和for循环正常工作

来自分类Dev

循环的C#用户输入无法正常工作

来自分类Dev

Char数组比较和while循环在C中无法正常工作

来自分类Dev

C#for循环通过数组计数无法正常工作

来自分类Dev

C#for循环通过数组计数无法正常工作

来自分类Dev

C程序无法正常工作(集,数组,循环)

来自分类Dev

在C ++中获取行函数无法正常工作

来自分类Dev

获取控制信息在C#中无法正常工作

来自分类Dev

从C中的标准输入读取行的功能无法正常工作

来自分类Dev

如何使用C中的循环在字符数组中输入字符?

来自分类Dev

C ++-For循环无法正常工作

来自分类Dev

将char存储在数组C中无法正常工作

来自分类Dev

C ++中动态数组的Getter无法正常工作

来自分类Dev

无法正常工作的数组循环

来自分类Dev

如何在整数数组中输入时在C ++中按下“输入”时中断循环

来自分类Dev

如何在整数数组中输入时在C ++中按下“输入”时中断循环

来自分类Dev

C 无法在 while 循环中获取数组中的搜索编号来工作和“双重释放或损坏”错误

来自分类Dev

C中的加密无法正常工作

来自分类Dev

C中的内联汇编无法正常工作

来自分类Dev

C ++中的函数重载无法正常工作

来自分类Dev

C程序中的strcat无法正常工作

来自分类Dev

在C中复制的文件无法正常工作

来自分类Dev

'unshare'在C api中无法正常工作

来自分类Dev

dgeqrf(LAPACK)在C ++中无法正常工作

来自分类Dev

睡眠语句在C ++中无法正常工作

来自分类Dev

C中的Char指针无法正常工作

来自分类Dev

指针在C中无法正常工作?

来自分类Dev

C中的内联汇编无法正常工作

来自分类Dev

OpenFileDialog类在C ++中无法正常工作

Related 相关文章

热门标签

归档