高级光能
其实这道题很简单
桶排序(从大到小)中间加一个判断if(a[i]!=m)里面在输出i
赵泰来在2020-03-20 11:27:43追加了内容
已AC,同班同学,望采纳
资深天翼
思路如下:
遍历数组。
其数量 m 等于就跳过,
不等于 m 就输出。
陈曦在2020-03-20 11:29:07追加了内容
其数量 等于m 就跳过,
中级守护
@曲天歌 你先把你写的代码删掉,我再把思路告诉你:
第一步:定义a[10009],n,t和m(int)
第二步:循环输入t,然后再循环里a[t]加1
第三步:循环从10000~1,循环里写一个if判断:如果
a[i]等于m,a[i]就赋值为0
第四步:外循环从10000~1,内循环从1~a[i],内循环里写
一个if判断:如果a[i]不等于m,就输出i和空格
@曲天歌 希望你能AC 100分!加油!!
望采纳!!!
高级光能
定义数组
桶记录下标你自己写
重点到了 要倒着把数进行排序 (降序输出)
int i=10000;i>=0;i-- 写在for循环里
if判断里套循环
if判断里写a[i]!=m
请你将其中重复出现m(1~20)次的整数舍去
最后输出你自己写
整体你自己好好看看
求采纳
高级光能
你为什么这样写呀?不是应该用去重代码吗?
先输入n,再循环输入m,a[m]++;
再来一个循环i=10000;i>=0;i--
判断:如果a[i]!=m
for(int j=1;j<=a[i];j++) cout<<i<<" ";
ac,望采纳!!
高级光能
#include<iostream>
using namespace std;
int a[10010];
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=10000;i>=0;i--){
if(a[i]!=m){
for(int i=1;i<=a[i];i++)
cout<<i<<" ";
}
}
return 0;
}
不对呀
@龙舟
高级光能
错了,cin>>n>>m;,m先不着急输入,只输入n
for(int i=1;i<=n;i++){
cin>>a[i];
}
这里输入m,不是a[i],再加一个a[m]++;,即
for(int i=1;i<=n;i++){
cin>>m;
a[m]++;
这里也错了,循环变量不是i,是j
for(int i=1;i<=a[i];i++)
新手天翼
@曲天歌
还是听我的吧
for(int i=n;i>=1;i--){
if(a[i]==m){
continue;
}
}
把循环改成1~10000 i++
continue;
改成
a[i]=0;
双重循环
输出i
AC
高子健在2020-03-19 11:46:42追加了内容
还有输入
n,m;
t;
a[t]++