C语言字符串反转:将01串变成10串
C语言字符串反转:将01串变成10串
本文将介绍如何使用C语言编写程序,将输入的01串进行反转,即将'0'变为'1',将'1'变为'0'。
问题描述:
给定一组由'0'和'1'组成的字符串,编写一个程序,将每个字符串中的'0'替换为'1','1'替换为'0',并输出替换后的字符串。
解决方案:
以下是使用C语言编写的解决方案:
#include <stdio.h>
#include <string.h>
int main() {
char str[51][201];
int n = 0;
// 读取输入的字符串并存储到数组中
while (scanf('%s', str[n]) != EOF) {
n++;
}
// 输出字符串,将0变为1,将1变为0
for (int i = 0; i < n; i++) {
for(int j = 0; j < strlen(str[i]); j++) {
printf('%c', (str[i][j] == '0') ? '1' : '0');
}
printf('\n');
}
return 0;
}
解释:
- 首先,定义一个二维字符数组
str,用于存储输入的字符串。 - 使用一个循环,读取输入的字符串并存储到数组
str中。当输入结束时,循环结束。 - 在嵌套的两个循环中,输出字符串,并将'0'变为'1',将'1'变为'0'。
- 外层循环从第一个字符串开始,依次递增。
- 内层循环从每个字符串的第一个字符开始,依次递增。
- 在内层循环中,判断当前字符是否为'0'。如果是,输出'1';如果不是,输出'0'。
- 在内层循环结束后,输出换行符,以将每个字符串单独占一行。
- 注意:在示例代码中,我们假设输入的字符串数量不超过50,每个字符串的长度不超过200。您可以根据实际情况进行调整。
示例:
输入:
0110100100100
1000000010000000000
输出:
1001011011011
0111111101111111111
原文地址: https://www.cveoy.top/t/topic/b8ho 著作权归作者所有。请勿转载和采集!