#include <stdio.h> #include <string.h> #include <stdlib.h>

void find(char *name[], int n, int *p);

int main() { char str[7]; char *name[100]; int n = 0; while (1) { scanf('%s', str); if (strcmp(str, '#m#') == 0) { break; } name[n] = (char *) malloc(sizeof(char) * 7); strcpy(name[n], str); n++; } int *p = (int *) malloc(sizeof(int)); find(name, n, p); printf('%s', name[*p]); free(p); for (int i = 0; i < n; i++) { free(name[i]); } return 0; }

void find(char *name[], int n, int *p) { int min = 1000000; for (int i = 0; i < n; i++) { int len = strlen(name[i]); int sum = 0; for (int j = 0; j < len; j++) { sum += name[i][j] - 'a' + 1; } if (sum < min) { min = sum; *p = i; } } }

C语言实现字符串最小值查找 - 算法详解

原文地址: https://www.cveoy.top/t/topic/ojJ5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录