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;
}
解答一下,需要这个程序框图
- 写回答
- 好问题 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; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用