① 3.編程輸入10個數,找出其中的最大值及其所在的數組下標位置。 用c語言編寫
1 創建10個數的數組;
2 輸入10個數;
3 以第一個數為最大值,並遍歷剩餘9個數,與最大值比較,得到最大值下標。
4 輸出最大值及下標。
代碼:
intmain()
{
inta[10];
inti,max;
for(i=0;i<10;i++)
scanf("%d",a+i);
for(max=0,i=1;i<10;i++)
if(a[max]<a[i])max=i;
printf("%d,%d ",a[max],max);
}
② C語言編程 題目:求一個數組中最大值及其下標
#include<stdio.h>
voidmain()
{
inta[5]={2,10,5,16,8};
intindex=0;
intmaxNum=a[0];
for(inti=0;i<5;i++)
{
if(maxNum<a[i])
{
maxNum=a[i];
index=i;
}
}
printf("最大數:%d,下標:%d ",maxNum,index);
}
③ 用C語言編程.寫出一函數,求出有N個元素的整數數組的最大值及其下標。
樓主,我的程序如下。函數max讀入一個n元素的數組a,返回其中最大元素的地址。這樣,在調用max的函數中(這里是main),可以通過兩種運算分別得到最大元素的值和它的下標(見main中注釋)
#include
int
*
max(int
*
a,
int
n)
{
int
i;
int
*
p
=
a;
for
(
i
=
0;
i
<
n;
i++
)
if
(
a[i]
>
*p
)
p
=
a+i;
return
p;
}
int
main(void)
{
int
a[10];
int
i;
int
*
ans;
printf(
"Please
input
ten
integers:\n"
);
for
(
i
=
0;
i
<
10;
i++
)
scanf(
"%d",
a+i
);
ans
=
max(a,
10);
/*
ans中現在存的是數組a中最大元素的地址
*/
printf(
"The
index
is
%d,
the
max
is
%d\n",
ans-a,
*ans
);
/*
ans-a求得的是最大元素的下標,
*ans得到的最大元素的值
*/
return
0;
}
④ C語言中數組下標最大為多少
數組下標最大為數組個數減一,例如定義:int a[5];則數組a的下標最大為4;
因為在c語言中數組的下標是從0開始的,這樣從0到數組個數減一,共數組的總個數。
例如:
#include<stdio.h>
intmain()
{
inta[5],i;//定義一個大小為5的整型數組。
for(i=0;i<=4;i++)//依次對數組的下標為0到4進行賦值
scanf("%d",&a[i]);
for(i=0;i<=4;i++)//依次輸出各值
printf("%d",a[i]);
return0;
}
/*
運行結果:
12345
12345
*/
⑤ C語言:定義一個符號常量N,從鍵盤上輸入有N個元素的數組a,找出其中的最大數及其下標。
#include<stdio.h>
#defineN10
intmain()
{
inti,*max,a[N];
for(i=0;i<N;i++)
{
printf("請輸入第%d個數:",i);
scanf("%d",&a[i]);
}
max=&a[0];
for(i=1;i<N;i++)
if(*max<a[i])
max=&a[i];
printf("最大值max=%d ",*max);
printf("最大值下標為:%d",max-&a[0]);
return0;
}
大致是這樣,編譯環境是VC6.0
希望對你有幫助。
⑥ C語言:找出數組中最大元素的位置(下標值)
#include<stdio.h>
#include<math.h>
intmain()
{
intn,a[10];
inti,max,loc;
while((n=getchar())!=EOF)
{
for(i=0;i<n-'0';i++)
scanf("%d",&a[i]);
max=a[0];
loc=0;
for(i=1;i<n-'0';i++)
{
if(a[i]>max)
{
max=a[i];
loc=i;
}
}
printf("%d%d ",max,loc);
fflush(stdin);
}
return0;
}
小小修改即可,scanf()!=EOF並不能達到你想要的目的 ,改成上面用getchar即可。
運行結果如下:
#include<stdio.h>
#include<math.h>
intmain()
{
intn,a[10];
inti,max,loc;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
max=a[0];
loc=0;
for(i=1;i<n;i++)
{
if(a[i]>max)
{
max=a[i];
loc=i;
}
}
printf("%d%d
",max,loc);
//fflush(stdin);
}
return0;
}
⑦ C語言編程題:定義一個長度為10的數組,求最大值及下標。
C語言程序如下:
#include <stdio.h>
void fun(int a[],int n,int *k)
{
int i,maxxr,j;
maxxr=a[0];
for(i=0;i<n;i++)
{
if(maxxr<a[i])
{
maxxr=a[i];
}
}
for(i=0;i<n;i++)
{
if(maxxr==a[i]){
j=i;
break;
}
}
*k=j;
}
int main(void)
{
int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;
fun(a, 10, &k);
printf("%d,%d", k, a[k]);
}
(7)c語言尋找數組最大下標擴展閱讀:
思路:
1、先定義數組(其數組長度取最大值,題目要求為10),然後通過for循環給數組一個個賦值,即可得到一個數組;
2、找數組的最大值,這一步是最關鍵的一步,由於所輸入的值不確定那個是最大值,故可以先設置另一個一個變數(index)來存儲最大值變數的下標。
3、緊接著繼續在數組里for循環,逐一跟下標為index的值相比較,如果比下標為index的值大,這時候就將兩者中數值大的下標賦值給index。
4、按要求輸出。