首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

【为何么错了】

2013-12-28 
【为什么么错了】Description对于输入的每个字符串,查找其中ASCII编码的最大字母,在该字母后面插入字符串(m

【为什么么错了】
Description
对于输入的每个字符串,查找其中ASCII编码的最大字母,在该字母后面插入字符串"(max)"

Input
输入数据包括多个测试用例,每个用例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。

Output
对于每个测试用例输出一行字符串,输出的结果是插入字符串"(max)"后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入"(max)"

Sample Input
abcdefgfedcba
xxxxx

Sample Output
abcdefg(max)fedcba
x(max)x(max)x(max)x(max)x(max)





#include<stdio.h>
#include<string.h>
int main()
{
char a[101],max;
int i,lenth;
while(scanf("%s",a)!=EOF)
{
lenth=strlen(a);
max='a';
for(i=0;i<lenth;i++)
{
if(a[i]>max)
max=a[i];
}
 for(i=0;i<lenth;i++)
 {
             if(a[i]==max)
              printf("%c(max)",a[i]);
          else
              printf("%c",a[i]);
         }
          printf("\n");
   }
 return 0;
}

[解决办法]
max 的初值太大了 如果全是大写字母呢~~  把max初值设置成'A'吧
[解决办法]

char a[101],max;
int i,lenth;
while(scanf("%s",a)!=EOF)
{
lenth=strlen(a);
max=a[0];//取第一个元素做为基准最大值好了
for(i=0;i<lenth;i++)
{
if(a[i]>max)
max=a[i];
}
for(i=0;i<lenth;i++)
{
if(a[i]==max)
printf("%c(max)",a[i]);
else
printf("%c",a[i]);
}
printf("\n");
}

热点排行