gpt4 book ai didi

c - 根据输入没有得到想要的输出

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

我正在实现一个简单的程序,使用 C 从数组中查找最大和最小的元素。但在某些情况下我会得到意外的输出。请查看this输出。请检查以下代码。

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

int largest(int *input)
{
int i=0,large=0;
for(;i<input[i]!='\0';i++)
{
if(input[i]>large)
large=input[i];
}
return large;
}

int smallest(int *input)
{
int i=0,small;
small=input[i];
for(;i<input[i]!='\0';i++)
{
if(input[i]<small)
small=input[i];
}
return small;
}

void main()
{
int *input;
int size,i=0,large,small;
printf("Enter size of array:\n");
scanf("%d",&size);
printf("Enter Numbers:\n");
input=(int *)malloc(size * sizeof(int));
for(;i<size;i++)
{
scanf("%d",input+i);
}
large=largest(input);
printf("Largest element is:%d, ",large);
small=smallest(input);
printf("Smallest element is:%d\n",small);
}

当我将大小传递给函数时,程序运行正常。

int largest(int *input,int size)
{
int i=0,large=0;
for(;i<size;i++)
{
if(input[i]>large)
large=input[i];
}
return large;
}

output通过实现上述功能。

我不明白这里发生了什么。请帮助我找到解决方案。

最佳答案

解决方法:

    #include<stdio.h>
main(){
int count, i, j, k;
float all_number[15],temp;
printf("\n Enter the number of input : ");
scanf("%d",&count);
for(i=0;i< count;i++){
printf("\n Enter %d element : ",i);
scanf("%f",&all_number[i]);
}
for(j=0; j<count ; j++){
for(k = j+1; k <count; k++){
if(all_number[j] > all_number[k]){
temp = all_number[j];
all_number[j] = all_number[k];
all_number[k] = temp;
}
}
}

printf("\n lowest %d element : %f",i,all_number[0]);
printf("\n highest%d element : %f",i,all_number[count]);
}

关于c - 根据输入没有得到想要的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44601447/

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