您的位置:首页 > 其它

输入10个整数,将其中最小的数与第一个数对换,把最大的数和最后一个数对换,写三个函数:1.输入10个数,2.进行处理.3输出10个数

2014-07-27 13:01 1561 查看
Point.m
void assignArr(int *p,
int count) {
for (int i =
0; i < count; i++) {
*(p + i) = arc4random() %
100;
}
}//为数组赋0~99的随机值

void outputArr(int *p,
int count) {
for (int i =
0; i < count; i++) {
printf("%d ", *(p + i));
}
}//输出数组中的元素

int findMaxIndexOfArr(int *p,
int count) {
int maxIndex =
0;//假设第一个元素为最大的元素的下标
for (int i =
0; i < count; i++) {
if (*(p + maxIndex) < *(p + i)) {
maxIndex = i;
}
}
return maxIndex;
}//找到数组中的最大元素的下标

int findMinIndexOfArr(int *p,
int count) {
int minIndex =
0;//假设第一个元素为最小的元素的下标
for (int i =
0; i < count; i++) {
if (*(p + minIndex) > *(p + i)) {
minIndex = i;
}
}
return minIndex;
}//找到数组中最小元素的下标

void exchangeArr(int *p,
int count) {
int temp = 0, maxIndex =
0, minIndex = 0;
maxIndex = findMaxIndexOfArr(p, count);//得到最大元素的下标
minIndex = findMinIndexOfArr(p, count);//得到最小元素的下标
//测试代码 printf("maxIndex = %d minIndex = %d\n", maxIndex, minIndex);
//将其中最小的数与第一个数对换
temp = *p;
*p = *(p + minIndex);
*(p + minIndex) = temp;
//把最大的数和最后一个数对换
temp = *(p + count - 1);
*(p + count - 1) = *(p + maxIndex);
*(p + maxIndex) = temp;

main.m
int a[10] = {0};
assignArr(a, 10);
outputArr(a, 10);
printf("\n");
exchangeArr(a, 10);
outputArr(a, 10);
printf("\n");
}//将其中最小的数与第一个数对换,把最大的数和最后一个数对换
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐