当前位置: 代码迷 >> 综合 >> HDU 2025
  详细解决方案

HDU 2025

热度:5   发布时间:2023-12-15 11:53:48.0
很简单的一道水题,哈哈哈。。。
我用的方法比较原始,也是最暴力的,对于每个字符串,申请一个和它一样大的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;}}// printffor(int i=0;i<size;i++){printf("%c",*(str+i));if(*(p+i) == 1) {printf("(max)");}if(i == size-1){printf("\n");}}}return 0;}