22 条题解
-
10
这一道题会不会输入样例出现 0 呢?不确定,先用字符串来做吧~
- 先定义 a 和 b,并且输入 a(老样子)
- 然后回文 b(老样子,除非你前面没做,不然怎么可能不会!)
- 再次循环一遍,判断每一个元素都一样,如果有一次不一样,输出 NO 并且结束代码
- 坚持到最后的就输出 YES 并且养成好习惯~
上代码!(AC过!)
#include <bits/stdc++.h> using namespace std; int main() { int s = 0; char a[5], b[5]; cin.getline(a, 5, '\n'); for (int i = 3; i >= 0; i--) { b[s] = a[i]; s++; } for (int i = 0; i <= 3; i++) { if (a[i] != b[i]) { cout << "NO"; return 0; } } cout << "YES"; return 0; }
-
1
这道题肥肠简单,下面是几种解法:
一,字符串分解:
(已AC,可安全食用)
#include<bits/stdc++.h> using namespace std; int main() { string a; cin >> a; if (a[0] == a[3] && a[1] == a[2]) { cout << "YES"; } else { cout << "NO"; } return 0; }
二,整型分解:
(同样AC,请放心食用)
#include<bits/stdc++.h> using namespace std; int main() { int a; cin >> a; if (a % 10 == a / 1000 && a / 10 % 10 == a / 100 % 10) { cout << "YES"; } else { cout << "NO"; } return 0; }
问:这类题已经考过几次了?! -
0
#include <bits/stdc++.h> using namespace std; string rev(string s){//编写翻转函数 string s1; for (int i = s.length() - 1; i >= 0; i--){ s1=s1+s[i]; } return s1; } int main(){ string s; getline(cin,s,'.');//读到‘.’终止 string a=rev(s);//调用函数,翻转字符串 if (s==a) cout<<"TRUE";//如果字符串倒过来一样,输出TRUE else cout<<"FALSE";//否则输出FALSE }
-
0
这道题有又是回文数的题,可以用string来做
1.定义一个布尔类型的变量用来存储答案,再定义一个字符串类型的n
2.依次判断,第一个元素是否等于倒数第一个元素,第二个元素是否等于倒数第二个,以此类推;
3.只要其中有一组不相同,这个n就可以pass掉了,直接break;
4.判断布尔变量,输出
至此这段代码就能完美Accepted啦
上代码吧
using namespace std; int main(){ bool a=1; string n; cin>>n; for(int i=0;i<4;i++){ if(n[i]!=n[3-i]){ a=0; break; } } if(a) cout<<"YES"; else cout<<"NO"; return 0; } }
信息
- ID
- 1235
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- 递交数
- 2150
- 已通过
- 1055
- 上传者