很简单的一道水题,哈哈哈。。。 我用的方法比较原始,也是最暴力的,对于每个字符串,申请一个和它一样大的int类型的指针数组,先循环一次找出max,然后拿max和它做对比,用int数组来存储他是否是max,若是则设为1,不是则不管,再循环输出,若max位为1则输出"(max)",不是则不输出,最后输出换行符。 #include<stdio.h> #include <string.h> #include <malloc.h> char str[100]; void init(){ for(int i=0;i<100;i++){ str[i] = '0'; } } int main() { while(scanf("%s",str)!= EOF){ int size = strlen(str); int *p = malloc(sizeof(int)*100); char max = 'a'; for(int i=0;i<size;i++){ if(*(str+i) >= max){ max = *(str+i); } } for(int i=0;i<size;i++){ if(*(str+i) >= max ){ *(p+i) = 1; }else{ *(p+i) = 0; } } // printf for(int i=0;i<size;i++){ printf("%c",*(str+i)); if(*(p+i) == 1) { printf("(max)"); } if(i == size-1){ printf("\n"); } } } return 0; }
HDU 2025
最新推荐文章于 2024-07-23 23:19:57 发布