本文目錄一覽:
怎樣用C語言編出在n個數里找最大值的程序?
找最大的值
max=0;
for(int i=0;in;i++) if(maxa[i]) max=a[i]; printf(“%d”,max);
找最小的值
min=100;
for(int i=0;in;i++) if(mina[i]) min=a[i]; printf(“%d”,min);
找某個值
scanf(“%d”,value);
for(int i=0;in;i++) if(a[i]==value) {printf(“%d”,i);break;}
求c語言程序:用一個函數求N個數的最大值和最小值。。。
#includestdio.h
int max(int n)
{int i,x,f;
scanf(“%d”,f);
for(i=1;in;i++)
{scanf(“%d”,x);
if(xf)f=x;
}
return f;
}
int main()
{int n;
printf(“有幾個數:”);
scanf(“%d”,n);
printf(“其中最大的數是:%d\n”,max(n));
return 0;
}
#includestdio.h
int min;
int maxmin(int n)
{int i,x,f;
scanf(“%d”,f);
min=f;
for(i=1;in;i++)
{scanf(“%d”,x);
if(xf)f=x;
else if(xmin)min=x;
}
return f;
}
int main()
{int n,mm;
printf(“有幾個數:”);
scanf(“%d”,n);
mm=maxmin(n);
printf(“其中最大的數是:%d\n最小的數是:%d\n”,mm,min);
return 0;
}
C程序:找N個數中最大值
第一個錯誤for(i=1;i=n;i++) scanf(“%d”,b[i]); C語言的下標是從0到n-1的,這裡錯了 應該是
for(i=0;in;i++) scanf(“%d”,b[i]);
第二個錯誤
int A(int a,int b[])
這個函數你想實現什麼功能?嵌套返回最大值嗎?
如果不是有要求必須採用嵌套 建議這樣做
int A(int a,int b[]) //輸入a: 數組容量;輸入b:數組序列
{
int j, max_pos = 0;
MAX = b[0];
for(j = 1; j a; j ++)
if(b[j] MAX) MAX= b[j], max_pos = j;
return max_pos;
}
如果一定要嵌套的話 可以這樣做
int A(int a, int b[])//輸入a: 數組容量;輸入b:數組序列
{
int max_pos;
if(a == 1) {MAX = b[0]; return 0;}
max_pos = A(a – 1, b);
if(MAX b[a – 1]) {MAX = b[a – 1]; max_pos = a – 1;}
return max_pos;
}
最後一個問題是打印
由於是通過全局變量傳遞max值 所以要這樣做
i = A(n, b);
printf(“%d %d”,i,MAX);
不然會出現打印max的時候 A(n,b)還沒有執行的情況
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/238463.html