m0_68396682 2022-10-25 17:33 采纳率: 80%
浏览 146
已结题

有一个整数序列表L,设计一个算法找最小元素值的最后一个的序号,序号从0开始,相同值的数序号相同。

有一个整数序列表L,设计一个算法找最小元素值的最后一个的序号,序号从0开始,相同值的数序号相同。

输入格式:
第1行输入为位元素个数len,len为整形。

第2行输入为len个整形元素的值。

输出格式:
一个整形数值,即最后一个元素的下标序号,下标从0开始。

输入样例:
7
1 5 1 1 3 2 4
输出样例:
3
输入样例2:
10
4 3 4 7 2 0 3 4 7 7
输出样例2:
4
本人代码:#include<stdio.h>
#include<stdlib.h>
#define N 100
typedef struct SList
{
int data[N];
int size;
}SL;
void SLInit(SL ps)
{
ps=(SL
)malloc(sizeof(SL));
ps->size=0;
}
void SLCreate(SL* ps, int n)
{
ps->size=n;
int x=0;
for(int i=0;isize;i++)
{
scanf("%d",&x);
getchar();
ps->data[i]=x;
}
}
int SLFind(SL* ps)
{
int min=ps->data[0];
int pos=0;
for(int i=0;isize;i++)
{
if(ps->data[i]<min)
{
min=ps->data[i];
pos=i;
}
}
return pos;
}

int main(){
SL plist;
SLInit(&plist);
int n=0;
scanf("%d",&n);
getchar();
SLCreate(&plist,n);
int min=SLFind(&plist);
printf("%d",min);

return 0;

}
本人代码只能得到最开始的最小元素值的下标,请问如何得到最小元素值的最后一个的序号.

  • 写回答

4条回答 默认 最新

  • CSDN专家-sinJack 2022-10-25 17:40
    关注
    
    if(ps->data[i]<=min)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 11月3日
  • 已采纳回答 10月26日
  • 创建了问题 10月25日