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
C语言字符串反转:将01串变成10串

原文地址: https://www.cveoy.top/t/topic/b8ho 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录