#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编程如何获取数组的元素个数和维数、如何从已经规定的数组中随机取出一个元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)