打擂台用于找到一个数组中的最值问题,先设置一个虚拟擂主,并保证他是“最弱的”,然后遍历数组,找到“更强的”数据,就交换擂主,“打”到最后的“擂主”就是最值数据
1004.最长整数序列
1009.交换最值
1023.出现次数最多的数
1024.数值信息报表
1030.函数的最大值
精度处理用printf函数处理即可,考察读题仔细;而正确的数据类型的选择和转换也是常考的点,遇见题目中出现小数,或者出现除法,精度保留,就一定将相关的变量设置为浮点型,特殊情况下,要将整形转化成浮点型,常用隐形类型转换:(double n0=n*1.0)
1002.异常点检测
1011.出租车费
1018.logistic方程
1029.计算正弦函数
1031.方差计算
1034.勒让德多项式
排序是编程最基础,最多元,最重要的处理,西电题目涉及到的仅仅是最简单的:冒泡排序,我在题目中做过两个版本:子函数实现,在主函数里实现,这些都可以,包括对于结构体的排序,几乎可以说必考,要牢牢掌握!!
int num[n];
for(int i=0;i<n-1;i++){
for(int j=0;j<n-i-1;j++){
if(num[j]>num[j+1]){
int t=num[j];
num[j]=num[j+1];
num[j+1]=t;
}
}
}
1014.评委打分
1015.等差数列
1017.有序序列插值
1026.删除特定字符之后排序输出
这是西电最喜欢考的模式!!!包括找满足要求的数据的个数,找字串,子数列等等,注意临界的数值设置,比如找连续两个数据(i,i+1),最后 i 只能遍历到倒数第二个,不然会数组超限的!
1002.异常点检测
1003.奇偶数之和
1004.最长整数序列
1006.奇偶之和
1008.判断字串
1010.数字统计
1013.数字统计(2)
1020.寻找同数
1022.数字统计(3)
1023.出现次数最多的数
1028.信号解调
1032.模式匹配
1033.ROT13加密
1035.可构造三角形个数
同样,这种模式考的也很多,注意不要带错公式,其次注意数据类型,这类公式很容易出现浮点型!
1002.异常点检测
1006.奇偶之和
1010.数字统计
1011.出租车费
1018.logistic方程
1021.梅森尼数
1025.平滑滤波
1029.计算正弦函数
1031.方差计算
1034.勒让德多项式
在字符串中有空格的时候,一定只能使用:fgets函数!!!
char s[101];
fgets(s,sizeof(s),stdin);
1008.判断子串
1026.删除特定字符后排序输出
1033.ROT13加密
ASCLL表要记个大概,在电脑中,每个字符都有对应的ASCLL码,在处理字符数据的时候,尤其字符到整形,切记ASCLL!
1005.进制转换
1033.ROT13加密
不要多此一举,什么插入啊,删除啊,直接在输出的时候处理就行!
1007.字符串插入
1017.有序序列插值
1026.删除特定字符之后排序输出
这方面全是数学技巧,全靠天赋,但是基础的比如:质数的判断和数的阶乘还是要会!
//质数判断函数
bool f(int n){
if(n==2)return 1;
else if(n%2==0)return 0;
else {
for(int i=3;i*i<=n;i+=2){
if(n%i==0)return 0;
}
return 1;
}
}
//阶乘函数
int f(int n){
int ans=1;
for(int i=1;i<=n;i++){
ans*=i;
}
return ans;
}
*1000.最小公倍数之和(语雀)
*1016.乘法口诀数列
1021.梅森尼数
取余操作常常用来取到一个数的位
int n;
int n1=n%10;//取n的个位
int n2=(n/10)%10;//取n的十位
int n3=n%100;//取n的后两位
int l=0;
int n0=n;
while(n0>0){
n0/=10;
l++;
}//算出n是几位数,储存到l中
1019.校验和计算
1027.判断同位数