zy_021226 2021-12-11 12:32 采纳率: 83.3%
浏览 37
已结题

解答一下,需要这个程序框图

int main(){
char s[100],s1[100];
int i,j,index=0;
printf("enter:");
gets(s);
for(i=0;s[i]!='\0';i++){
if(s[i]!='a'){
s1[index]=s[i];
index++;
}
else{
for(j=0;j<3;j++){
s1[index++]='#';
}
}
}
s1[index] = '\0';
puts(s1);
return 0;
}

  • 写回答

1条回答 默认 最新

  • 我是麻瓜喔 2021-12-11 12:53
    关注

    整体程序的作用是将输入的字符串中的字符'a'替换成'###'

    
    #include <stdio.h>
    int main(void)
    {
        char s[100], s1[100];
        int i, j, index = 0;
        printf("enter:");
        gets(s); // 输入字符串
        for (i = 0; s[i] != '\0'; i++)
        // 遍历字符串数组s内的字符,整体的作用是将输入的字符串中的字符'a'替换成'###'
        {
            if (s[i] != 'a') // 如果字符不为'a',则存入s1中
            {
                s1[index] = s[i]; // index此时等于0,C语言索引从0开始
                index++;          // index加1
            }
            else // 如果字符为'a',则替换为'###'
            {
                for (j = 0; j < 3; j++)
                {
                    s1[index++] = '#'; // 先进行赋值,即s1[index] = '#',然后index加1
                }
            }
        }
        s1[index] = '\0'; // 字符串数组最后一个字符必须是'\0'
        puts(s1);         // 输出字符串s1
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月13日
  • 已采纳回答 6月5日
  • 创建了问题 12月11日

悬赏问题

  • ¥20 有偿,学生成绩信息管理系统
  • ¥15 Arduino电机和openmv连接异常
  • ¥15 Arcgis河网分级报错
  • ¥200 java+appium2.1+idea
  • ¥20 请帮我做一个EXE的去重TXT文本
  • ¥15 工价表引用工艺路线,应如何制作py和xml文件
  • ¥15 根据历史数据,推荐问题类型
  • ¥15 需要仿真图,简单的二阶系统实例
  • ¥15 stm32光控照明仿真
  • ¥15 使用人工智能的方法生成满足一定统计参数要求的随机数序列