C语言字符串反转:将01串转换为10串
C语言字符串反转:将01串转换为10串
这篇文章将介绍如何使用C语言编写程序,将输入的01串转换为10串,即实现字符串反转并将'0'替换为'1','1'替换为'0'。
问题描述:
贝贝是一位程序设计爱好者,他喜欢将01串转换为10串。例如,将'0110100100100'转换为'1001011011011'。请编写一个程序来模仿贝贝的行为。
输入格式:
输入数据包含多个01串,每个串占一行,每个串的长度不超过200个字符。
输出格式:
按输入相反的顺序输出转换后的10串,每个串占一行。
**代码示例:**c#include <stdio.h>#include <string.h>
int main() { char str[51][201]; int n = 0; // 读取输入的字符串并存储到数组中 while (scanf('%s', str[n]) != EOF) { n++; } // 倒序输出字符串 for (int i = n - 1; i >= 0; i--) { for(int j = strlen(str[i]) - 1; j >= 0; j--) { printf('%c', (str[i][j] == '0') ? '1' : '0'); } printf(' '); } return 0;}
代码解释:
- 首先,定义一个二维字符数组
str,用于存储输入的字符串。2. 使用scanf函数读取输入的字符串,并存储到数组str中,直到读取到文件结尾(EOF)。3. 使用嵌套的两个循环,倒序输出字符串。 - 外层循环从最后一个字符串开始,依次递减。 - 内层循环从每个字符串的最后一个字符开始,依次递减。4. 在内层循环中,判断当前字符是否为'0'。如果是,输出'1';如果不是,输出'0'。5. 在内层循环结束后,输出换行符,以将每个字符串单独占一行。
注意:
在示例代码中,我们假设输入的字符串数量不超过50,每个字符串的长度不超过200。您可以根据实际情况进行调整。
希望这篇文章能够帮助您理解如何使用C语言进行字符串反转和字符替换操作。如果您有任何问题,请随时提出。
原文地址: https://www.cveoy.top/t/topic/b8cw 著作权归作者所有。请勿转载和采集!