当前位置: 首页 > news >正文

C语言练习题--洛谷P1781宇宙总统

题目描述

地球历公元 6036 年,全宇宙准备竞选一个最贤能的人当总统,共有 n 个非凡拔尖的人竞选总统,现在票数已经统计完毕,请你算出谁能够当上总统。

输入格式

第一行为一个整数 n,代表竞选总统的人数。

接下来有 n 行,分别为第一个候选人到第 n 个候选人的票数。

输出格式

共两行,第一行是一个整数 m,为当上总统的人的号数。

第二行是当上总统的人的选票。

输入输出样例

输入 #1复制

5
98765
12365
87954
1022356
985678

输出 #1复制

4
1022356

说明/提示

票数可能会很大,可能会到 100 位数字。

1≤n≤20。

此题采用冒泡排序

#include <stdio.h>
#include <string.h>
struct xuanju
{
	int hao;
	char piaoshu[200];
};//定义一个结构体
int judge(char str1[],char str2[])
{
	if(strlen(str1)>strlen(str2))
	return 1;
	else if(strlen(str1)<strlen(str2))
	return 2;
	else if(strlen(str1)==strlen(str2))
	{
		int i;
		for(i=0;i<strlen(str1);i++)
		{
			if(str1[i]>str2[i])
			{
				return 1;
			}
			if(str1[i]<str2[i])
			{
				return 2;
			}
		}
	}
}//判断大小
int main()
{
	int n,i;
	scanf("%d",&n);
	struct xuanju s[25];
	for(i=0;i<n;i++)
	{
		s[i].hao=i;
		scanf("%s",s[i].piaoshu);
	}
    int j;
    for(i=1;i<=n-1;i++)
    for(j=1;j<=n-i;j++)
    {
    	if(judge(s[j].piaoshu,s[j-1].piaoshu)==1)
    	{
    		char ans[200]={'\0'};
    		strcpy(ans,s[j].piaoshu);
    		strcpy(s[j].piaoshu,s[j-1].piaoshu);
    		strcpy(s[j-1].piaoshu,ans);
    		int t;
    		t=s[j].hao;
    		s[j].hao=s[j-1].hao;
    		s[j-1].hao=t;
	}
    }//冒泡排序
   
	printf("%d\n%s\n",s[0].hao+1,s[0].piaoshu);
	return 0;
}

相关文章:

  • 深入浅出解析 FreeRTOS 软件定时器 定时器服务任务:机制、API 详解及实践应用
  • 【算法】009、单双链表反转
  • C++什么是深复制和浅复制,构造函数和析构函数,哪一个可以写成虚函数,为什么?
  • 轻量级 Transformer 架构多模态预训练框架
  • 完全背包(排列问题)——爬楼梯
  • 模拟退火算法(Simulated Annealing):从物理学到优化的经典方法
  • leetcode刷题--超详解
  • 力扣203题:移除链表元素及代码实现分析
  • PAT线上考试注意细节(甲/乙级)
  • JDBC连接池技术详解
  • Linux网络基础
  • 【数据结构初阶第十八节】八大排序系列(上篇)—[详细动态图解+代码解析]
  • 在人工智能软件的帮助下学习编程实例
  • 力扣 Hot 100 刷题记录 - 随机链表的复制
  • 力扣hot100——多维动态规划
  • 线性代数笔记28--奇异值分解(SVD)
  • 揭开AI-OPS 的神秘面纱 第四讲 AI 模型服务层(自研方向)
  • QT快速入门-信号与槽
  • 34.二叉树进阶3(平衡二叉搜索树 - AVL树及其旋转操作图解)
  • Flask框架中局部刷新页面
  • 建筑设计理念万能模板/上海seo服务
  • 中小企业网站建设与管理主要讲授什么/百度搜索关键词指数
  • 网站建设类目/网站服务器地址查询
  • 个人网站备案建设方案书/品牌公关具体要做些什么
  • 池州网站建设哪家好/关键词排名霸屏代做
  • 佛山新网站建设方案/爱站长尾关键词挖掘工具