c语言编程:数组a中放n个整数,试求数组中最大元素和第二大元素的下标,并输出相应元素的值

c语言编程:数组a中放n个整数,试求数组中最大元素和第二大元素的下标,并输出相应元素的值,第1张

#include<stdioh>

int main()

{ int m1,m2;

int i,i1,i2;

int a[100],n; scanf("%d",&n);

for(i=0;i<n;i++) scanf("%d",&a[i]);

m1=m2=a[0];

i1=i2=0;

for(i=1;i<n;i++) { if(a[i]>m1) {

m2=m1; i2=i1; m1=a[i]; i1=i; } else if(a[i]>m2) {

m2=a[i]; i2=i; } } printf("最大的数是%d,下标是%d\n第二大的数是%d,下标是%d\n",m1,i1,m2,i2);

return 0;

}

领用下面代码可获取数组个数:

(UBound(A,1)-LBound(A,1))((UBound(A,2)-LBound(A,2))

其中Ubound(A,1)为数组第一维上限,Lbound(A,1)为数组第一维下限,二者相减及为数组第一维的个数,同理,后面是数组第二维的个数,两者的乘积即该数组所有元素的个数。

这样吧 我先给写思路 你还不会再追问我

先贴 随机产生 0 至 n-1 的数值的代码(ps: 回答的编辑器右上角 有个代码语言 可以方便贴代码的)

#include <stdioh>

#include <stdlibh>

int main()

{

int i;

srand( time(NULL) );

for( i = 0; i < 20; i++ )

printf( "Random number #%d: %d\n", i, (int)(110rand()/(RAND_MAX)) ); 

return 0;

}

这样就可以产生 剩余学生学号 的位置

然后是删除 如果删除int a[5] 中的 a[2] 就把 a[3] a[4] 向前移动一位 然后 剩余学生数量减一

再根据剩余学生数量 随机一个数值 再删除

其中每次都要判断 学生数量是否为 0 如果为0 就结束

先这样吧。。。

以上就是关于c语言编程:数组a中放n个整数,试求数组中最大元素和第二大元素的下标,并输出相应元素的值全部的内容,包括:c语言编程:数组a中放n个整数,试求数组中最大元素和第二大元素的下标,并输出相应元素的值、Excel中VB编程如何获取数组的元素个数和维数、如何从已经规定的数组中随机取出一个元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9545884.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存