重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#includestdio.h
成都创新互联是一家专业提供修武企业网站建设,专注与成都网站制作、网站设计、HTML5、小程序制作等业务。10年已为修武众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
#includemath.h
int fun(int a[1000], int t){
int i,max=0,N;
for (i=0;it;i++)
if (a[i]a[max]) max=i;
return max;
}
main(){
int x[1000];
int i,N,maxid;
scanf("%d",N);
for(i=0;iN;i++) x[i]=N*sin(i*0.16);
maxid=fun(x,N);
printf("最大的数是:%d 下标: %d \n",x[maxid],maxid);
}
楼主,我的程序如下。函数max读入一个n元素的数组a,返回其中最大元素的地址。这样,在调用max的函数中(这里是main),可以通过两种运算分别得到最大元素的值和它的下标(见main中注释)
#include
int
*
max(int
*
a,
int
n)
{
int
i;
int
*
p
=
a;
for
(
i
=
0;
i
n;
i++
)
if
(
a[i]
*p
)
p
=
a+i;
return
p;
}
int
main(void)
{
int
a[10];
int
i;
int
*
ans;
printf(
"Please
input
ten
integers:\n"
);
for
(
i
=
0;
i
10;
i++
)
scanf(
"%d",
a+i
);
ans
=
max(a,
10);
/*
ans中现在存的是数组a中最大元素的地址
*/
printf(
"The
index
is
%d,
the
max
is
%d\n",
ans-a,
*ans
);
/*
ans-a求得的是最大元素的下标,
*ans得到的最大元素的值
*/
return
0;
}
#includestdio.h
#includestring.h
struct test
{
int num[4];
int k;
};
struct test Cal(int *s)
{
struct test ans;
ans.k = 0;
int i;
for(i = 0; i 4; i++)
{
if(s[i] == 2)
{
ans.num[ans.k++] = s[i];
}
}
return ans;
}
int main()
{
int s[4] = {1, 2, 2, 3};
struct test ans = Cal(s);
int i;
for(i = 0; i ans.k; i++)
printf("%d ", ans.num[i]);
return 0;
}