Hzu挑战自我


私信TA

用户名:gxhzxyjsj

访问量:98836

签 名:

2024终究会过去,期待2025!

等  级
排  名 8
经  验 27865
参赛次数 67
文章发表 157
年  龄 0
在职情况 教师
学  校 贺州学院
专  业 软件工程

  自我简介:

弱鸡一个,继续努力!

TA的其他文章

解题思路:排序,然后比较。

参考代码:

方法1:输入时要按ctrl+Z才能结束。

#include<bits/stdc++.h>
using namespace std;
const int N=1001;
int main()
{
	int a[N],n,i,sum,k=0;
	cin>>n;
	while(cin>>a[k])
	{
		k++;
	}
	sort(a,a+k);
	int mid,nid; //mid表示断号id,nid表示重号id
	for(i=1;i<k;i++)
		if(a[i]!=a[i-1]+1&&a[i]!=a[i-1])
		{
			mid=a[i]-1;
			break;
		}
	for(i=0;i<k;i++)
		if(a[i]==a[i+1])
		{
			nid=a[i]; //找到重号id
			break;
		}
	cout<<mid<<" "<<nid;
	return 0;
}

方法2:完全按照题目要求输入,但是要处理字符串。对于学习字符串的处理,也是很不错的。

#include<bits/stdc++.h>
using namespace std;
const int N=1001;
int main()
{
    int a[N],n,i,sum,k=0;
    char str[500]; 
    scanf("%d",&n); 
    while(getchar()!='\n');  
    while(n--)
    {    	
    	gets(str);
    	sum=0;
    	i=0;
    	while(str[i]!='\0')
    	{    	
    		if(str[i]==' ') i++;
    		else break;
    	}
    	for(;str[i];i++)
    	{
    		if(str[i]!=' ')
				sum=sum*10+str[i]-'0';
			else if(str[i-1]!=' ')
			{
				a[k++]=sum;
				sum=0;
			}
    	}
		if(str[i-1]!=' ' && str[i]=='\0')  a[k++]=sum;    	
    }
    sort(a,a+k);	
    int mid,nid; //mid表示断号id,nid表示重号id
	for(i=1;i<k;i++)
        if(a[i]-a[i-1]==2)
        {
	        mid=a[i-1]+1;
	        break;
        }
    for(i=0;i<k;i++)
		if(a[i]==a[i+1])
		{
			nid=a[i];   //找到重号id
			break;
		}
    cout<<mid<<" "<<nid;
    return 0;
}


 

0.0分

0 人评分

  评论区

看,这个是神仙呢。
2019-04-05 23:25:45
  • «
  • 1
  • »