0
0
已采纳
0
0
@曲天歌 你先把你写的代码删掉,我再把思路告诉你:
第一步:定义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分!加油!!
望采纳!!!
0
定义数组
桶记录下标你自己写
重点到了 要倒着把数进行排序 (降序输出)
int i=10000;i>=0;i-- 写在for循环里
if判断里套循环
if判断里写a[i]!=m
请你将其中重复出现m(1~20)次的整数舍去
最后输出你自己写
整体你自己好好看看
求采纳
0
你为什么这样写呀?不是应该用去重代码吗?
先输入n,再循环输入m,a[m]++;
再来一个循环i=10000;i>=0;i--
判断:如果a[i]!=m
for(int j=1;j<=a[i];j++) cout<<i<<" ";
ac,望采纳!!
0
#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;
}
不对呀
@龙舟
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++)
0
0
@曲天歌
还是听我的吧
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]++
0