题目:
代码:
#include<stdio.h>
#include<string.h>
int main()
{
char a[1000],b[1000];
int i,len,max,k;
while(gets(a)!=NULL)
{
len=strlen(a);
max=a[0];
for(i=0;i<len;i++)
{
if(a[i]>max)
{
max=a[i];
}
}
for(i=0,k=0;a[i]!='\0';i++)
{
b[i+k]=a[i];
if(a[i]==max)
{
b[i+k+1]='(';
b[i+k+2]='m';
b[i+k+3]='a';
b[i+k+4]='x';
b[i+k+5]=')';
k+=5;
}
}
b[i+k]='\0';
for(i=0;b[i]!='\0';i++)
printf("%c",b[i]);
printf("\n");
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
}
return 0;
}
注意:
格式输出问题:
while(gets(str)!=NULL) NULL返回值对应的是char
while(scanf("%d",&x)!=EOF) EOF返回值对应却是int
此题2个数组为了就是让数组的地址往后累加 给(max)留出位子
还要注意对于字符串数组不要忘记'\0'