gpt4 book ai didi

c - 它在最后打印了一个额外的零,我不确定为什么

转载 作者:太空宇宙 更新时间:2023-11-04 08:42:04 25 4
gpt4 key购买 nike

它询问用户他们希望如何创建和排序随机数,并且由于某种原因它在列表末尾打印一个零,我不知道为什么......它检查以确保超过 1 个数字是输入的数量少于 10,000。

#include <stdio.h>
#define MAX 10000

int randu(void);
void bubble(int a[], int num);
void swap(int*,int*);

int main (int argc, char *argv[]) {
int numsor,y;
int randoms[MAX];
int x=0;

if (argc == 1){
printf("How many numbers do you wish to sort? \n");
scanf("%d", &numsor);

}
if (argc == 2){
sscanf(argv[1], "%d", &numsor);
}

if (argc > 2){
printf("how many numbers do you wish to sort? \n");
scanf("%d", &numsor);
}
while (numsor<2 || numsor>10000){
if (numsor < 2){
printf("Error please enter a number more than 2. \n");
}
else{
printf("Error please enter a number less than 10,000. \n");
}

scanf("%d", &numsor);
}

y = randu();
for(x=0; x<numsor; x++){
randoms[x]=randu();
}

bubble(randoms,numsor);

for( x = 0; x <= numsor; x++){
printf( "[%d]\n", randoms[x]);
}

}


int randu(){
static int seed=17;
seed=(25179*seed+13849)%65536;
return seed;
};



void swap(int *a, int *b){
int temp;
temp=*a;
*a=*b;
*b=temp;
}


void bubble(int a[], int num){
int i,j;

for(i=0; i<num-1; i++)
for(j=num-1;i<j;j--)
if(a[j-1]>a[j])
swap(&a[j-1], &a[j]);
}

最佳答案

这个:

for( x = 0; x <= numsor; x++){

应该使用< ,否则您将重复多次。

关于c - 它在最后打印了一个额外的零,我不确定为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23158082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com