免费自助网站建站,在哪儿可以找到网站开发的需求,站长工具集,做网站免费吗七 、显示字符串中的字符 从界面上输入一个字符串#xff08;C 风格#xff09;#xff0c;把字符串中的每个字符显示出来#xff0c;如果输入的是abc#xff0c;要求#xff1a; 1#xff09;正序显示#xff1a;a b c 2#xff09;逆序显示#xff1a;…七 、显示字符串中的字符 从界面上输入一个字符串C 风格把字符串中的每个字符显示出来如果输入的是abc要求 1正序显示a b c 2逆序显示c b a 求字符串的长度可以利用上一题的成果也可以直接用 strlen()函数关注性能的细节。 示例 #include iostream using namespace std; // 采用 while 循环用指针表示法和临时变量计数。 int length(char* str) { int len 0; char* ptr str; // 指向字符串的开始。 while (*ptr) len; return len; } int main() { // 从界面上输入一个字符串C 风格把字符串中的每个字符显示出来正序和逆序。 char str[31]; memset(str, 0, sizeof(str)); // 初始化是个好习惯。 cout 请输入一个字符串; cin str; // 正序显示 //for (int ii 0; ii length(str); ii) // 循环 10000 次。 // cout str[ii] ; //for (int ii 0, lenlength(str); ii len; ii) // 循环 200 次。 // cout str[ii] ; for (char *posstr;*pos;pos) // 循环 100 次。 cout *pos ; cout endl; // 逆序显示 for (int ii length(str)-1; ii 0; ii--) // 循环 200 次。 cout str[ii] ; cout endl; } 八、字符串反转 从界面上输入一个 C 风格的字符串如果输入的是abc反转后cba。 要求 1反转的结果存放在另一字符串中。 2原地反转不借助其它的字符串。 #include iostream using namespace std; int main() { char str[31]; memset(str, 0, sizeof(str)); // 初始化是个好习惯。 cout 请输入一个字符串; cin str; // 1反转的结果存放在另一字符串中。 char str1[31]; // 反转后的字符串。 memset(str1, 0, sizeof(str1)); int jj 0; // 反转后的字符串的下标。 for (int ii strlen(str) - 1; ii 0; ii--) str1[jj] str[ii]; cout 反转后 str1 endl; // 2原地反转不借助其它的字符串。 //str a b c d e f for (int ii 0,len strlen(str) ; ii len / 2; ii) // 如何确定循环的边界用笨方法举例验 证需要耐心。 { // 交换数组中两个元素的值。str[ii]、str[len-1-ii] char tmp str[ii]; str[ii] str[len - 1 - ii]; str[len - 1 - ii] tmp; } cout 反转后 str endl; // 测试用例 strlen(str) strlen(str)/2 ii // a 1 1/20 不进 入循环 // ab 2 2/21 0 执 行一次循环 // abc 3 3/21 0 执 行一次循环 // abcd 4 4/22 0、1 执 行两次循环 // abcde 5 5/22 0、1 执 行两次循环 // abcdef 6 6/23 0、1、2 执行三次循环 } 九、二维数组的应用 有两个任务 1超女有 3 个小组每组有 4 名选手请提供一个界面输入每个超女的体重然后计算出每组 的超女的平均体重和全部超女的平均体重。 2从界面上输出三个超女的姓名存放在 C 风格的字符串数组中然后分别向她们表白。 示例一 #include iostream using namespace std; int main() { // 超女有 3 个小组每组有 4 名选手请提供一个界面输入每个超女的体重 // 然后计算出每组的超女的平均体重和全部超女的平均体重。 double weights[3][4]; // 存放每个超女的体重。 memset(weights, 0, sizeof(weights)); // 初始化数组。 for (int ii 0; ii 3; ii) { for (int jj 0; jj 4; jj) { cout 请输入第 ii 1 组第 jj 1 名超女的体重; cin weights[ii][jj]; } } double total 0; // 全部超女的体重之和。 for (int ii 0; ii 3; ii) { double sum 0; // 一组内四名超女的体重之和。 for (int jj 0; jj 4; jj) { sum sum weights[ii][jj]; // 把组内超女的体重累加。 } cout 第 ii 1 组超女的平均体重是 sum / 4 endl; total total sum; // 把全部超女的体重累加。 } cout 全总超女的平均体重是 total / 12 endl; } 示例二 #include iostream using namespace std; int main() { // 从界面上输出三个超女的姓名存放在 C 风格的字符串数组中然后分别向她们表白。 char name[3][11]; // 存放三个超女的姓名。 memset(name, 0, sizeof(name)); for (int ii 0; ii 3; ii) { cout 请输入第 ii 1 超女的姓名; cin name[ii]; } for (int ii 0; ii 3; ii) cout 亲爱的 name[ii] 我是一只傻傻鸟。\n; } 十、把整数转换成字符串 从界面上输入一个整数把它转换为十进制和二进制的 C 风格的字符串。 4358 4358%108 把 8 转换成字符 4358/10435 435 435%105 把 5 转换成字符 435/1043 43 43%103 把 3 转换成字符 43/104 4 4%104 把 4 转换成字符 4/100 结束循环 示例 #include iostream using namespace std; int main() { // 从界面上输入一个整数把它转换为十进制和二进制的 C 风格的字符串。 int value 0; cout 请输入整数; cin value; int radix 0; cout 请选择2-二进制10-十进制; cin radix; char result[20]; memset(result, 0, sizeof(result)); // 一定要初始化否则 bug int ii 0; // 用于 result 字符串的计数器。 // 把整数转换为字符串。4358 while (value 0) { result[ii] value % radix 0; // 取余数并转换成字符。 value value / radix; // 商。 } // 把字符串 result 反转。 for (int ii 0, len strlen(result); ii len / 2; ii) // 如何确定循环的边界用笨方法举 例验证需要耐心。 { // 交换数组中两个元素的值。str[ii]、str[len-1-ii] char tmp result[ii]; result[ii] result[len - 1 - ii]; result[len - 1 - ii] tmp; } cout result result endl; }