【正确答案】正确答案:int MinPos=0; //初始化最小值位置 if(data==NULL) //判断输入字符串是否为空 return-1; char MinData=data[0];//设置字符串第一个字符为最小值 if(MinData==0) //判断第一个字符是否存在 return-1; for(int i=i;data[i]!=0;i++) { if(data[i]<=MinData) { MinData=data[i]; //逐个判断每个字母是否小于标记字符 MinPos=i; //最小值位置 } } return MinPos;
【答案解析】解析:(1)MinPos变量首先指向字符串data的第一个字符,同时将标志位MinPos初始值赋为0。 (2)然后利用for循环对每一个当前字符与MinPos标记的字符进行比较。 (3)循环中将求得的最小数据data[i]赋值给MinData,并将该数据项数组标志位赋给标志位MinPos。