CCF CSP攻克之路 —— 2013_12

1: 出现次数最多的数(100)

1.1 题目

在这里插入图片描述

1.2 代码与解答

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,a[1005],num[10005]={};
	int max=0,ans=0;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		num[a[i]]++;
	}
	for(int i=0;i<10004;i++)
	{
		max = max < num[i] ? num[i]:max;
		if(max<num[i+1]) ans = i+1;//从最小位开始,只有出现比当前max还大的值时才更新,保证了输出最大值中索引最小的一个
	}
	cout<<ans;
    return 0;
}

2: ISBN号码(100)

2.1 题目

在这里插入图片描述

2.2 代码与解答

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string ISBN,char0="0123456789X";//根据余数判断最后是哪个“数字”
	char judge;
	int numb[9]={},sum=0,j=0,k=1;//定义j为存9个数字的数组位置
	cin>>ISBN;
	for(int i=0;i<12;i++)
	{
		
		if(ISBN[i]=='-') continue;//如果碰到“-”,给i++,却不加j
		numb[j] = int(ISBN[i]-'0');//把取出的数字存到int数组里
		sum = sum + numb[j]*k++;//求乘积和
		j++;
	}
	judge = char0[sum%11];
	if(judge==ISBN[12]) cout<<"Right";//正确输出
	else
	{
		for(int i=0;i<12;i++)
		{
			cout<<ISBN[i];
		}
		cout<<char0[sum%11];//错误输出,直接出书char0中的符号,位数直接用余数判断
	}
    return 0;
}

3: 最大的矩形

3.1 题目

在这里插入图片描述

3.2 代码与解答




4: 有趣的数

4.1 题目

在这里插入图片描述

4.2 代码与解答




5: I’m stuck!

5.1 题目

在这里插入图片描述

5.2 代码与解答




发布了27 篇原创文章 · 获赞 6 · 访问量 534

猜你喜欢

转载自blog.csdn.net/qq_43246110/article/details/104212581