害人之深

我这次一道题大了3节课。这是万恶的75题。这题害人之深那!老师看了半节课,没看出来。高中的大佬不在。刘圣丰嫌弃我,只告诉我什么错了。久之杨给我发了一大段程序……没看懂。还是越越好我们讨论了大半节课,终于讨论出来了问题在哪。

#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,a[110],k=1,b=1,c[110],x=1;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<=n;i++)
if(a[i]>k){k=a[i]; }
for(int i=1;i<=n;i++)
if(a[i]==k){a[i]=0; b++;}
    if(b==n){cout<<"none"; return 0;}
for(int i=1;i<=n;i++)
   if(a[i]!=0) {c[x]=a[i]; x++;};
x=x-1;
for(int i=1;i<=x;i++)
if(i!=x) cout<<c[i]<<' ';
else cout<<c[i]<<' ';
return 0;
}

看没毛病吧。但是



还有人说c数组可以不用,但不用我就炸了。因为还有空格这万恶的东西。

悲催啊!最后我们讨论出来了。是输入数据可能有零,或以下的数。好吧我改了一下

#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,a[110],k=0,b=0,c[110],x=1;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<=n;i++)
if(a[i]>k){k=a[i]; }
for(int i=1;i<=n;i++)
if(a[i]==k){a[i]=-1; b++;}
    if(b==n){cout<<"none"; return 0;}
for(int i=1;i<=n;i++)
    if(a[i]!=-1) {c[x]=a[i]; x++;};
x=x-1;
for(int i=1;i<=x;i++)
if(i!=x) cout<<c[i]<<' ';
 else cout<<c[i];
return 0;
越越说不可以,但是我过了,因为数据里没负数。越越说数据水我才过的。但我看了n天的程序过了还是好高兴啊!!!


so 简单来说还是我思考不全面,害我弄了n天。以后要好好思考后再刷题。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值