【正确答案】正确答案:int MinPos=0; //初始化最小 值位置 if(data==NULL) //判断输入字 符串是否为空 return一1; char MinData=data[0];//设置字符 串第一个字符为最小值 if(MinData==0) //判断第一个 字符是否存在 return一1; for(int i=1;data[i]!=0;i++) { if(data[i]<=MinData) { MinData=data[i]; //逐个判断每个字母是否小于标记字符 MinPos=i; //最小值 位置 ) } return MinPos;
【答案解析】解析:(1)该程序功能是找出字符串数组中最小的ASCⅡ值。它的解题思路,用最小值变量标记第一个待找字符,把所有待找字符和标记字符逐个进行比较,并标记其当前最小值及其所在位置,从而找出最小值。 (2)从己给部分源程序的main主函数开始入手,核心函数int fun(char*data)中的data参数为输入的字符串数组,其中MinPos为最小值位置。