团体程序设计天梯赛-练习集(二)
文章目录
L1-011 A-B【字符串处理】
本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。
输入格式:
输入在2行中先后给出字符串A和B。两字符串的长度都不超过104,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。
输出格式:
在一行中打印出A−B的结果字符串。
输入样例:
I love GPLT! It's a fun game!
aeiou
输出样例:
I lv GPLT! It's fn gm!
完整代码(参考柳神)
#include<iostream>
using namespace std;
int book[256];
int main(){
string a,b;
getline(cin,b);
getline(cin,a);
for(int i=0;i<a.length();i++) book[a[i]]=1;
for(int i=0;i<b.length();i++){
if(book[b[i]]==0){
cout<<b[i];
}
}
return 0;
}
思考
- ASCII码编号0-255,编号和字符是可以相互转化的
- 题解思路:出现就绕过,没出现就输出,很精彩!
L1-012 计算指数【水题】
知识
幂函数
#include <math.h>
double pow( double base, double exp );
The pow() function returns base raised to the expth power. There’s a domain error if base is zero and exp is less than or equal to zero. There’s also a domain error if base is negative and exp is not an integer. There’s a range error if an overflow occurs.
重点注意头文件,参数类型,函数返回值
域错误——底数为零或负,指数小于等于零或不是整数
范围错误——溢出
L1-013 计算阶乘和【水题】
对于给定的正整数N,需要你计算 S=1!+2!+3!+…+N!。
核心代码
for(int i=1;i<=a;i++){
temp*=i;
sum+=temp;
}