有一组均由字符A~ Z和a~z组成的字符串,其中要求将字符串中各字符按如下要求进行转换
A<->z、B<->y、C<->x、… 、X<->c、Y<->b、Z<->a。
- C语言版
#include#include #include int main() { char s[10000]; int i; //printf("锟斤拷锟斤拷n"); gets(s); for (i = 0;i < strlen(s);++i) { s[i] = 187 - s[i]; } printf("%sn",s); return 0; }
- CPP版
#include3208. student成绩计算与排名 要点注意#include using namespace std; int main() { char s[10000]; cin >> s; int len = (sizeof(s) / sizeof(s[0])) - 1;//获取长度 for (int i = 0; i< len; i++) { if (s[i] > 'z' || s[i] < 'A' || s[i]>'Z'&& s[i]<'a') break;//跳过空元素 s[i] = 187 - s[i]; } for (int i = 0; i< len; i++) { if (s[i] > 'z' || s[i] < 'A'||s[i]>'Z'&& s[i]<'a') break;//跳过空元素 cout << s[i]; } return 0; }
-
C++11特性 :
链接: push_back与emplace_back. -
resize()与reserve都是vector容器中的方法:
resize():改变了capacity()和size()
reserve():增加了vector的capacity(),但是它的size()没有改变
-
setiosflags(ios::fixed)是用定点方式表示实数。
使用setprecision(n)可控制输出流显示浮点数的数字个数。C++默认的流输出数值有效位是6。
如果setprecision(n)与setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。
如果如果setprecision(n)与setiosnags(ios::scientific)合用, 可以控制指数表示法的小数位数。
setiosflags(ios::scientific)是用指数方式表示实数
#include#include #include #include //小数点操作用的 //#include //包含以上所有 using namespace std; class Student { public: Student(long long ID, int wuL, int huaX, int shengW) :ID(ID), wuL(wuL), huaX(huaX), shengW(shengW) { total = 0.4*wuL + 0.35*huaX + 0.25*shengW; } long long ID; int wuL, huaX, shengW; double total; }; bool mycmp(Student stu1, Student stu2) { if (stu1.total == stu2.total) { if (stu1.wuL == stu2.wuL) { if (stu1.huaX == stu2.huaX) { if (stu1.shengW == stu2.shengW) { return false; } else return stu1.shengW > stu2.shengW; } else return stu1.huaX > stu2.huaX; } else return stu1.wuL >stu2.wuL; } else return stu1.total > stu2.total;//从大到小 } int main() { vector vstu; int N; cin >> N; for (int i = 0; i > ID >> wuL >> huaX >> shengW; vstu.emplace_back(ID, wuL, huaX, shengW); } sort(vstu.begin(), vstu.end(), mycmp); for (int i = 0; i< 3; i++) { cout << vstu[i].ID <<" "<< setiosflags(ios::fixed) << setprecision(1) << vstu[i].total << endl; } return 0; }



