西电期末考点总结

一."打擂台"

介绍

打擂台用于找到一个数组中的最值问题,先设置一个虚拟擂主,并保证他是"最弱的",然后遍历数组,找到"更强的"数据,就交换擂主,"打"到最后的"擂主"就是最值数据

相关题目

1004.最长整数序列

1009.交换最值

1023.出现次数最多的数

1024.数值信息报表

1030.函数的最大值

二.精度和数据类型

介绍

精度处理用printf函数处理即可,考察读题仔细;而正确的数据类型的选择和转换也是常考的点,遇见题目中出现小数,或者出现除法,精度保留,就一定将相关的变量设置为浮点型,特殊情况下,要将整形转化成浮点型,常用隐形类型转换:(double n0=n*1.0)

相关题目

1002.异常点检测

1011.出租车费

1018.logistic方程

1029.计算正弦函数

1031.方差计算

1034.勒让德多项式

三.排序(冒泡)

介绍

排序是编程最基础,最多元,最重要的处理,西电题目涉及到的仅仅是最简单的:冒泡排序,我在题目中做过两个版本:子函数实现,在主函数里实现,这些都可以,包括对于结构体的排序,几乎可以说必考,要牢牢掌握!!

cpp 复制代码
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函数!!!

cpp 复制代码
char s[101];
fgets(s,sizeof(s),stdin);

相关题目

1008.判断子串

1026.删除特定字符后排序输出

1033.ROT13加密

七.ASCLL

介绍

ASCLL表要记个大概,在电脑中,每个字符都有对应的ASCLL码,在处理字符数据的时候,尤其字符到整形,切记ASCLL!

相关题目

1005.进制转换

1033.ROT13加密

八.输入输出

介绍

不要多此一举,什么插入啊,删除啊,直接在输出的时候处理就行!

相关题目

1007.字符串插入

1017.有序序列插值

1026.删除特定字符之后排序输出

九.技巧处理及数学

介绍

这方面全是数学技巧,全靠天赋,但是基础的比如:质数的判断和数的阶乘还是要会!

cpp 复制代码
//质数判断函数
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.梅森尼数

十."取余"操作

介绍

取余操作常常用来取到一个数的位

cpp 复制代码
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.判断同位数

那西电期末36题就都结束啦!最后祝西电C语言期末AK!!

相关推荐
j_xxx404_1 天前
数据结构:栈和队列力扣算法题
c语言·数据结构·算法·leetcode·链表
南莺莺1 天前
假设一个算术表达式中包含圆括号、方括号和花括号3种类型的括号,编写一个算法来判别,表达式中的括号是否配对,以字符“\0“作为算术表达式的结束符
c语言·数据结构·算法·
野犬寒鸦1 天前
力扣hot100:旋转图像(48)(详细图解以及核心思路剖析)
java·数据结构·后端·算法·leetcode
一枝小雨1 天前
【OJ】C++ vector类OJ题
数据结构·c++·算法·leetcode·oj题
豆沙沙包?1 天前
2025年- H118-Lc86. 分隔链表(链表)--Java版
java·数据结构·链表
得意霄尽欢1 天前
Redis之核心数据结构浅析
数据结构·redis
DashingGuy1 天前
算法(keep learning)
java·数据结构·算法
田里的水稻1 天前
C++_数据类型和数据结构
java·数据结构·c++
兔兔西1 天前
【数据结构、java学习】数组(Array)
java·数据结构·算法
小徐不徐说1 天前
数据结构基础之队列:数组/链表
c语言·数据结构·算法·链表·面试