害人之深

来源:互联网 发布:陈大新 矩阵理论 编辑:程序博客网 时间:2024/04/30 19:54

我这次一道题大了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天。以后要好好思考后再刷题。


原创粉丝点击