IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 复试2014年算法题 -> 正文阅读

[C++知识库]复试2014年算法题

1、问题描述:
编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。

输入格式:
第一行是一个整数N,N? £? 20;接下来由N行,每一行表示一个整数,并且按照从小到大的顺序排列。
输出格式:
输出只有一行,即出现次数最多的那个元素值。
输入输出样例

样例输入:
5

150
150
200
250

样例输出:
150

#include<stdio.h>
#define M 20
int main(){
	int n,a[M],count[M],index=0;
	scanf("%d",&n);
	for(int r=0;r<n;r++)
		count[r]=1;
	for(int i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(int j=0;j<n;j++)
		for(int k=0;k<n;k++)
			if(a[k]==a[j])  count[j]++;
	for(int m=1;m<n;m++)
		if(count[index]<count[m]||(count[index]==count[m]&&a[m]<a[index]))
			index=m;
	printf("%d",a[index]);
} 

2、世界杯小组赛(胜得3分,平得1分,负不得分),计算每个队的积分,若积分相同,则按净球数排序(保证积分相等时输入的净球数不相等)。输入M个队,出线队N个,输出出线的队伍的排名、名称、积分、净球数。
输入说明
名称 胜 平 负 进球数 负球数
输入样本
4 2
德国 1 1 0 9 3
俄罗斯 1 0 0 2 1
威尔士 1 1 1 10 2
芬兰 0 1 0 3 3

输出样本
1 威尔士 4 8
2 德国 4 6

冒泡排序

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define M 100
struct WorldCup
{
	char country[10];
	int score[10];
	int grade;
	int win;
	
};
int main(){
	struct WorldCup w[M],temp;
	int m,n,i,j,k,number=1;
	scanf("%d %d ",&m,&n);
	for(i=0;i<m;i++){
		scanf("%s",w[i].country);
		for(j=0;j<5;j++)
			scanf("%d",&w[i].score[j]);
		w[i].grade=3*w[i].score[0]+w[i].score[1];
		w[i].win=w[i].score[3]-w[i].score[4];
	}
	for(i=0;i<m-1;i++){
		k=i;
		for(j=i+1;j<m;j++)
			if(w[j].grade>w[k].grade) k=j;
			else if(w[i].grade==w[k].grade&&w[j].win>w[k].win)  k=j;
		if(k!=i)
		{
			temp=w[k];
			w[k]=w[i];
			w[i]=temp;
		}
	}
	for(i=0;i<n;i++)
		printf("%d %s %d %d\n",number++,w[i].country,w[i].grade,w[i].win);

}

3、给定一组字符串中,求其中包含数字的最大公因子。若没有数字或找出的整数为0,则输出0(03复试资料P9)
输入样本:

3
sxscsdcc0.a3.‘’;9h
dd4scx0sc2s79cs
acds

输出
13
857
0

 1)void *memset(void *s,int c,size_t n)
        总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。

 2).memset() 函数常用于内存空间初始化。如:
           char str[100];
           memset(str,0,100);
#include <stdio.h>
#include <string.h>
#define N 20
int main(){
	char str[100];
	int n,f,t;
	scanf("%d",&f);
	while(f--){
		memset(str,0,100);
		scanf("%s",str);
		n=0;
		for(int i=0;i<100;i++)
			if(str[i]>='0'&&str[i]<='9')
				n=n*10+str[i]-'0';
		if(n==0)
		{
			printf("0\n");
		}
		else{
			for(int i=1;i<n;i++)
				if(n%i==0)
					t=i;
				if(t==1)
				 	t=n;
				printf("%d\n",t);
		}
	}
	return 0;
}
最小公倍数
https://blog.csdn.net/weixin_45970642/article/details/105440960?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164588230116780271542297%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164588230116780271542297&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-105440960.first_rank_v2_pc_rank_v29&utm_term=%E6%9C%80%E5%B0%8F%E5%85%AC%E5%80%8D%E6%95%B0&spm=1018.2226.3001.4187
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-28 15:10:05  更:2022-02-28 15:10:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:07:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码