求助:宇宙总统一题总有一点不过
  • 板块题目总版
  • 楼主MikeDorovan
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/5/5 21:24
  • 上次更新2023/11/4 23:38:53
查看原帖
求助:宇宙总统一题总有一点不过
463325
MikeDorovan楼主2021/5/5 21:24

不知道为什么。我用结构体和冒泡排序写的(不存在卡时间数组范围的问题,毕竟是道水题),其他四个点都能过,自己随便输数据也都和预期一样,但第二个点怎么都输不出预期的结果,我也检查不出错,望大佬帮助。 代码:

#include<bits/stdc++.h>
using namespace std;
struct num
{
	string s;
	int lenx,num;
}a[21];
int main()
{
	int n;
	string t1;
    int t2;
	cin>>n;
	for (int i=1;i<=n;i++)
	{
		cin>>a[i].s;
		a[i].lenx=a[i].s.size();
		cout<<a[i].lenx<<endl; 
		a[i].num=i;	
	}	
	for (int i=1;i<=n-1;i++)
	{
		for (int j=i+1;j<=n;j++)
		{
			if (a[i].lenx==a[j].lenx)
			{
					if(a[i].s>a[j].s)
					{
						t1=a[j].s;
						a[j].s=a[i].s;
						a[i].s=t1;
                        t2=a[j].num;
                        a[j].num=a[i].num;
                        a[i].num=t2;
					}
			}
			else if(a[i].lenx>a[j].lenx)
			{
				t1=a[j].s;
				a[j].s=a[i].s;
				a[i].s=t1;	
                t2=a[j].num;
                a[j].num=a[i].num;
                a[i].num=t2;
			}
		}
	} 
	cout<<a[n].num<<endl<<a[n].s<<endl;
	return 0;
}
2021/5/5 21:24
加载中...