关于#c语言#的问题:随机产生一组[0,100]之间的整数存放在一维数组中,并输出(长度自已定义),再从键盘上输入一个数

随机产生一组[0,100]之间的整数存放在一维数组中,并输出(长度自已定义),再从键盘上输入一个数,在该数组中进行查找,若该数在此数组中,输出它所在的位置,否则输出“No ”。

纯手工写的,100%的真诚,希望不要被辜负。

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define n 10
int main() {
int arr[n];
int x, y = 0;
scanf("%d", &x);
srand((unsigned int)time(NULL));
for (int i = 0; i < n; i++) 
{
arr[i] = rand() % 101;
if (x == arr[i]) { printf("%d", i); y = 1; }
}
if (!y) printf("No");
return 0;
}

参考GPT和自己的思路:

好的,对于你的问题,我可以给出以下的c语言代码解决方案:

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

#define ARRAY_LENGTH 20      // 数组长度

int main()
{
    int array[ARRAY_LENGTH];
    int i, find_num, flag = 0;

    srand((unsigned int)time(NULL));   // 初始化随机数种子
    for(i = 0; i < ARRAY_LENGTH; i++)
    {
        array[i] = rand() % 101;    // 生成随机数并存入数组
        printf("%d ", array[i]);    // 打印数组元素
    }
    printf("\nPlease input a number to find: ");
    scanf("%d", &find_num);         // 从键盘输入查找数值

    for(i = 0; i < ARRAY_LENGTH; i++)
    {
        if(array[i] == find_num)    // 找到该数字
        {
            printf("The number is located at position %d.\n", i+1);
            flag = 1;               // 标记已找到
            break;                  // 结束循环
        }
    }
    if(flag == 0)                  // 没有找到该数字
        printf("No\n");

    return 0;
}

以上代码可以实现随机生成一组整数并存放在一维数组中,然后从键盘上读入一个数进行查找,最后输出该数值在数组中的位置或"No"。希望能够帮到你,任何问题都可以随时向我提问。