1.字符替换
2.字符串判等
3.加密的病历单
4.数字反转
5.ISBN号码
6.合法的C标识符
7.单词转换
8.最大数字串
#includeusing namespace std; int main() { char s[2000], a, b; cin.getline(s, 2000); cin >> a >> b; for (int i = 0; s[i] != 0; i++) { //s[i]<==>i s[i]!=''<==>s[i]!=0 if (s[i] == a) s[i] = b; } puts(s); return 0; }
#includeusing namespace std; int main() { char a[2000], b[2000], c[2000], d[2000]; cin.getline(a, 2000); cin.getline(b, 2000); int k = 0; for (int i = 0; a[i]; i++) { if (a[i] == ' ') continue; a[i] = tolower(a[i]); c[k++] = a[i]; //等价于c[k]=a[i];k++; //c[i] = a[i];同下 } //puts(c);这里输出字符串c便与判断有无正确转入a[i] k = 0; for (int i = 0; b[i]; i++) { if (b[i] == ' ') continue; b[i] = tolower(b[i]); d[k++] = b[i]; //d[i] = b[i];这样写错误是因为b[i]遇到空格后依旧会加加但是却不会把值放进d[i]里 } //puts(d);同上 if (strcmp(c, d) == 0) cout << "Yes"; else cout << "No"; return 0; }
#includeusing namespace std; int main() { char a[100]; cin >> a; for (int i = 0; i < a[i]; i++) { if (isupper(a[i])) { //判断是否为大写字符 a[i] = tolower(a[i]); //转换为小写 a[i] = a[i] + 3 > 'z' ? a[i] - 23 : a[i] + 3; //加密左移解密右移判断右移三位是否会超过26个字母 } else { a[i] = toupper(a[i]); //转换大写 a[i] = a[i] + 3 > 'Z' ? a[i] - 23 : a[i] + 3; //同上 } } for (int i = strlen(a) - 1; i >= 0; i--) //strlen函数用来求字符串长度 //由于下标是从0开始,所以长度比下标多1 { cout << a[i]; //倒序输出 } return 0; }
#includeusing namespace std; int main() { char a[20000]; cin >> a; int j = 0; if (a[j] == '-') { cout << "-"; j++; } int i = strlen(a) - 1; while (a[i] == '0' && i > j)//记住这里是字符与字符的比较==左右两边要类型一致 //while(a[i]==0) i--; while (i >= j) cout << a[i], i--; return 0; }
#includeusing namespace std; int main() { string s; int sum = 0; cin >> s; int k = 0; for (int i = 0; i < s.size() - 1; i++) {//s,size()-1是因为最后一位标识符不会被计算 if (s[i] == '-') continue; k++;//先k++再乘等 sum += k * (s[i] - '0'); }//由于该串数字是以字符串的形式输入因此被默认为数字字符 //再计算时要先-‘0’转换成数字才能计算 int n = sum % 11; if (n < 10) { if (s[s.size() - 1] - '0' == n) cout << "Right"; else { s[s.size() - 1] = n + '0'; cout << s; } } else { if (s[s.size() - 1] == 'x') cout << "Right"; else { s[s.size() - 1] == 'x'; cout << s; } } return 0; }
#includeusing namespace std; int main() { int f = 1; string s; cin >> s; if (isdigit(s[0]))//isdigit 当数字字符时, 返回真值 f = 0;//f=1是合法的,否则是非法的 for (int i = 0; i < s.size(); i++) { if (isalnum(s[i]) || s[i] == '_') //isalnum 当字母或数字字符时, 返回真值 continue; f = 0; } if (f) puts("yes"); else puts("no"); return 0; }
#includeusing namespace std; int main() { int f = 1; string s; cin >> s; for (int i = 0; i < s.size(); i++) { if (isdigit(s[0])) { f = 0; break ; } if (!isdigit(s[i]) && !isalpha(s[i]) && s[i] && s[i] != '_') { f = 0; } } if (f) cout << "yes"; else cout << "no"; return 0; }
#includeusing namespace std; int main() { string s, s1, s2; getline(cin, s); cin >> s1; cin >> s2; s = ' ' + s + ' ';//避免因空格造成的影响 s1 = ' ' + s1 + ' '; s2 = ' ' + s2 + ' '; int k = 0; do { k = s.find(s1, k);//查找s1出现的位置并返回该位置的下标 if (k != string::npos) {//查找成功 s.replace(k, s1.size(), s2);//将s1替换成s2 k += s2.size();//从上次查找的位置继续找 } else break; } while (1); cout << s.substr(1, s.size() - 2);//忽略前后空格 return 0; }
链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
设有n个正整数(n ≤ 20),将它们联接成一排,组成一个最大的多位整数。
例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213
又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613
#includeusing namespace std; bool cmp(string a,string b){ return a+b>b+a; } int main(){ int n; string s[2000]; cin>>n; for(int i=0;i >s[i]; sort(s,s+n,cmp); for(int i=0;i 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)