C语言编程

完成函数int absmin(int *a, int n)的定义,它能实现求指针a 所指向的前n个整数中绝对值最小的数,并将它返回给主调函数。并编写主程序,验证absmin()的有效性。

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

int absmin(int *a, int n)
{
    int temp = *a;
    for(int i=0;i<n;i++){
        if(abs(*(a+i)) < temp)
            temp = *(a+i);
    }
    return temp;
}

int main()
{
    int a[] = {1,4,-5,6,-3, 7}; //初始化
    absmin(a,6);
    printf("前n个整数中绝对值最小的数为:%d\n",absmin(a,6));

    return 0;
}

图片为运行结构示意图

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-07
#include<stdio.h>
#include<math.h>
int absmin(int *,int);
int main()
{int *a,num[100],n;
int result;
{ }//自己再写上赋值过程,随机或者手动随意吧,然后输入n
a=#

result=absmin(a,n);

printf("%d",result);
return 0;

}
int absmin(int *a,int n)
{int i, temp=*a; //和线性查找原理类似,temp赋初值为数组第一位
for(i=0;i<n;i++)
{ if(abs(*(a+i))<abs(*(a+i+1))) //如果小,则挑出来,一路下来挑出的就是最小的
temp=*(a+i); //使用了abs()绝对值函数,如果要求里不允许,可以比较原数的平方
}
reuturn temp;

}
相似回答