用C语言编程 编写一个程序实现下面的功能?
1。将10个单词存放在一个一维数组中2。找出ASCII值最大的一个单词。
1。将10个单词存放在一个一维数组中2。找出ASCII值最大的一个单词。
答案:#include <stdlib.h>
#include <stdio.h>
#include <math.h>bool smaller(char* word1, char* word2)
{
int i;
bool ret = false;
int size1 = strlen(word1);
int size2 = strlen(word2);
int step = size1 < size2 ? size1 : size2;
if(size1 > size2)
{
return false;
}
else if(size1 == size2)
{
for(i=0; i<step; i++)
{
if(word1[i] >= word2[i])
{
continue;
}
else
{
ret = true;
}
}
}
else
{
ret = true;
}
return ret;
}void main()
{
int i;
char word[10][16] = {0};
char minword[16] = {0};
printf("Please enter 10 words whose max length can not be greater than 16\n");
for(i=0; i<10; i++)
{
scanf("%s", word[i]);
}
memcpy(minword, word[0], strlen(word[0]));
for(i=0; i<10; i++)
{
if(smaller(word[i], minword))
{
memcpy(minword, word[i], strlen(word[i]));
}
}
printf("The word who has the smallest ASCII value is: %s\n", minword);}
函数smaller是判断字符串1与字符串2的ASCII码大小,一般比较包括字符串长度和字符串的每个字符,如果其中一个字符串长度大于另一个字符串长度则认为前者的ASCII码大于后者;如果两个字符串具有相同个数的字符,则依次比较每个字符,如果两个字符串的相同位置上的字符的ASCII码相等,则继续比较,直到出现相同位置上的字符的ASCII码不等或者到字符串结尾,如果在比较过程中出现字符的ASCII码不等的情况则认为ASCII码较大的那个字符串的ASCII码值较大,两个字符串长度和每个字符都相等,则认为他们的ASCII值相同。当然不同的比较规则有不同的判断方式。如若有不明白的,请追问!
谢谢采纳!
找出ASCII最大是啥意思?单词个个字母ascii之和最大吗?