#include <stdio.h>
#include <string.h>
int main()
{
int n,i,m,j;
scanf("%d\n",&n);
int arr[100];
for(i=0;i<n;i++)
{
scanf("%d",&m);
getchar();
arr[i]=m;
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(arr[i]==arr[j])
{
arr[j]=arr[n-1];
n--;
}
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n-1-i;j++)
{
if(arr[j]>arr[j+1])
{
int t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}
printf("%d\n",n);
for(i=0;i<n;i++)
printf("%d ",arr[i]);
return 0;
}
对N个1到1000之间的随机整数(N≤100),每个数字保留1个并从小到大排序。,正确率只有55%,不知道哪里有问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 於黾 2022-03-30 17:32关注
我知道了,你这是去重的时候就有问题了。
你在删掉一个元素之后,需要执行j--,让它退回到上一步去重新判断,否则有多个相同的连续重复值时,会有的没被删掉。
不要图省事,觉得把最后一个元素拿到当前位置也一样
就老老实实的把j后面的所有元素往前挪一个位置,是最稳妥的办法本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于redhat虚拟机系统新建卷的问题
- ¥50 WRFDA读取风云四号A 星的GIIRS数据
- ¥15 C# 爬虫融通金网址实时银价
- ¥15 热敏电阻NTC,温控不同颜色的LED的亮与灭,PCB
- ¥20 ESP32使用MicroPyhon开发,怎么获取485温湿度的值,温湿度计使用的鞋子是Modbus RTU
- ¥50 苹果MGIE项目部署缺少emb权重
- ¥15 采用ansys进行机翼在特定路径下的打孔过程中的受力分析
- ¥15 单片机adb主机连接手机,usb调试密钥无法保存
- ¥15 已知X和Y有以下关系,求X和Y的关系式
- ¥15 net core 同时编辑怎么防止数据多保存了