#include<stdio.h>
#include<string.h>
int main(void)
{
char str[4][61],temp;
int i,j;
for(i=0;i<4;i++)
while(gets(str[i]), strlen(str[i])<1);
for(i=0;i<4;i++)
for(j=0;j<=strlen(str[i]);j++)
{
if(str[i][j]=='$') str[i][j]='S';
}
for(i=0;i<4;i++) puts(str[i]);
}
类似题型1:输入4行字符,每行不超过60个字符,删除其中所有的字符‘$’
#include<stdio.h>
#include<string.h>
int main(void)
{
char str[4][61],temp,str2[4][61];
int i,j,k;
for(i=0;i<4;i++)
while(gets(str[i]), strlen(str[i])<1);
for(i=0;i<4;i++)
{
k=0;
for(j=0;j<=strlen(str[i]);j++)
{
if(str[i][j]!='$')
{
str2[i][k]=str[i][j];
k++;
}
}
}
for(i=0;i<4;i++) puts(str2[i]);
}
类似题型2:输入4行字符,每行不超过60个字符。将空格符后的第1个英文字母改为大写(原为大写字母则不变)
#include<stdio.h>
#include<string.h>
int main(void)
{
char str[4][61],temp;
int i,j,flag,k;
for(i=0;i<4;i++)
while(gets(str[i]), strlen(str[i])<1); //实现一次性输入四行字符串,解决了scanf输入不方便限制长度的问题
for(i=0;i<4;i++)
for(j=0;j<=strlen(str[i]);j++)
{
flag=1;
if(str[i][j]==' ')
{
k=j;
for(;k<=strlen(str[i]);k++)
if(flag==1)
{
if(str[i][k]>='A'&&str[i][k]<='Z')
{
str[i][k]=str[i][k];
flag=0;
}
else if (str[i][k]>='a'&&str[i][k]<='z')
{
str[i][k] = str[i][k]-32; //小写字母的ASCII码大大写字母的32
flag=0;
}
}
}
}
for(i=0;i<4;i++) puts(str[i]);
}