C 您好,这个程序用于计算数组中的最小值和最大值
我用函数编写了代码,它给出了变量的地址,而不是以相同的编码方式得到的解的值 这是我的密码C 您好,这个程序用于计算数组中的最小值和最大值,c,arrays,function,max,min,C,Arrays,Function,Max,Min,我用函数编写了代码,它给出了变量的地址,而不是以相同的编码方式得到的解的值 这是我的密码 #include <stdio.h> int maxi(int feld[],int size); int mini(int feld[],int size); int main(void){ int feld[]={33,36,31,38,45,42,11,29,56,54}; int len; int min,max; len=sizeof(feld)
#include <stdio.h>
int maxi(int feld[],int size);
int mini(int feld[],int size);
int main(void){
int feld[]={33,36,31,38,45,42,11,29,56,54};
int len;
int min,max;
len=sizeof(feld)/sizeof(int);
printf("Lange des Datenfeldes=%i\n",len);
max=maxi(feld,len);
min=mini(feld,len);
printf("Minimum = %i\tMaximum = %i\n",min,max);
return 0;
}
int maxi(int feld[],int len){
int i,max;
for(i=0;i<len;i++){
if(feld[i]<max){
feld[i]=max;
}
}
return max;
}
int mini(int feld[],int len){
int i,min;
for(i=0;i<len;i++){
if(feld[i]>min){
feld[i]=min;
}
}
return min;
}
#包括
int-maxi(int-feld[],int-size);
int mini(int feld[],int size);
内部主(空){
int feld[]={33,36,31,38,45,42,11,29,56,54};
内伦;
最小整数,最大整数;
len=sizeof(feld)/sizeof(int);
printf(“日期的语言=%i\n”,len);
最大值=最大值(费尔德,伦);
最小值=最小值(长、长);
printf(“最小值=%i\t最大值=%i\n”,最小值,最大值);
返回0;
}
int maxi(int feld[],int len){
int i,max;
对于(i=0;i您需要为函数中的max
和min
提供一个起始值。
一个好的选择是max=INT\u MIN;
和MIN=INT\u max;
。另外,在您的包含中添加\include
,因为INT\u max
和INT\u MIN
是在其中定义的
int maxi(int feld[],int len){
int i;
int max = INT_MIN;
for(i=0;i<len;i++){
if(feld[i]<max){
max=feld[i];
}
}
return max;
}
int-maxi(int-feld[],int-len){
int i;
int max=int_MIN;
对于(i=0;i您必须先将maxi()
中的max
和mini()
中的min
初始化为数组中的某个值,例如feld[0]
不要使用立即值(如0
)进行初始化,因为当数组中的所有值都大于或小于该值时,使用该值将导致问题
包括限制。h
,对于max
使用INT\u MIN
,对于MIN
使用INT\u max
是可以的
更新:
您正在尝试计算maxi()
中的最小值和mini()
中的最大值。您必须反转feld[i]min的比较运算符的方向
使用INT_MIN
和INT_MAX
是很好的,因为当size代码向后时,它也会在一定程度上起作用
作业顺序也不正确
初始化max
mini()
也存在类似问题
int-maxi(int-feld[],int-len){
//int max;
int max=int_MIN;
int i;
对于(i=0;imaxi()
不初始化max
。与mini()
类似。还有其他问题(例如,max和mini中的逻辑)。你真的应该用一个以问号结尾的句子来提问。很难弄清楚你具体在问什么。与其在其他网站上发布你的输出,最好在这里发布你的输出,并将其作为文本,而不是图片。为什么max=INT\u MIN;我可以选择什么吗else@MahmoudAbo为什么要设置max
初始值是否更高?考虑数组可以是<代码> Feld[] = { In minmin,in minmin,in min-min,…};< /Cord>它给我(最小值=2147483637最大值=2147483648))当我用Inthmax和Inthmin和Max定义它时,它给了Min和Max翻转的真值。(最小值=2147483637最大值=2147483648))
int maxi(int feld[], int len){
// int max;
int max = INT_MIN;
int i;
for(i=0;i<len;i++){
// if(feld[i]<max){
if(feld[i] > max){
// feld[i] = max;
max = feld[i];
}
}
return max;
}