C 语言 编程题 输入4行字符,每行不超过60个,把其中的'$'转换成'S' 并且输出出来。。 请问如何写?

如题所述

不需要像楼上那样存下来的,那样太浪费空间了.....下面这样写就行了...
#include<stdio.h>
int main()
{
char c,n=4;
while(n--)
{
while((c=getchar())!='\n')
{
if(c=='$')
c='S';
printf("%c",c);
}
printf("\n");
}
return 0;
}

这是4行输入4行输出的版本
#include<stdio.h>
int main()
{
char str[4][61];
int i,j;

for (i=0; i<4; ++i)
gets(str[i]);
for (i=0; i<4; ++i)
{
for (j=0;str[i][j]!='\0';++j)
{
if ('$'==str[i][j])
str[i][j]='S';
printf("%c", str[i][j]);
}
printf("\n");
}

return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-15
#include <stdio.h>
int main()
{
    char s[4][100];
    int i,j;
    for(i = 0; i < 4; i ++)
    {
        gets(s[i]);
        for(j = 0; s[i][j]; j ++)
            if(s[i][j] = '$') s[i][j]='S';
    }
    for(i=0;i<4;i++)
        puts(s[i]);
    return 0;
}

本回答被网友采纳
第2个回答  2018-03-15
#include <stdio.h>

main() 
{
char str[65]={0};
int i=0,j=0;
for (i=0;i<4;i++)
{
gets(str);
for (j=0;str[j];j++)
{
if (str[j]=='$')
{
str[j]='S';
}
}
printf("%s\n",str);
}
}

123#$%
123#S%
sdfsdf$$$asd
sdfsdfSSSasd
kjkjasd$$aa
kjkjasdSSaa
SSADAS%^&^
SSADAS%^&^
Press any key to continue

第3个回答  2010-08-13
#include"stdio.h"
main()
{
int i=0,j=1;
char ch[60];
for(j=1;j<=4;j++)
{
while(ch[i]=getcahr();&& i<60)
{
if (ch[i]=='$')
ch[i]='s';
printf("ch[i]");
}
printf("\n");
}
}
第4个回答  2010-08-13
#include <stdio.h>
#include <string.h>

int main()
{
char str[4][81];
int i;
char *p;

for (i = 0; i < 4; i++)
gets(str[i]);
for (i = 0; i < 4; i++)
{
p = str[i];
while (*p != '\0')
{
if (*p == '$')
*p = 'S';
p++;
}
}
for (i = 0; i < 4; i++)
puts(str[i]);
return 0;
}
相似回答