关于C语言:这道题怎么运行不了哇??写的哪儿错了啊,谢谢 其中fun函数是我写的编程,其他是原题

请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n... 请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
#include <stdlib.h>
#include <stdio.h>
void fun(int a[], int n , int *max, int *d )
{ int i;
*max=a[0];
*d=0;
for(i=0;i<n;i++)
if(a[i]>*max){ *max=a[i]; *d=i; }

}
main()
{ int i, x[20], max , index, n = 10;
randomize() ;
for (i=0;i < n;i++) {x[i] = rand()%50; printf("%4d", x[i]) ; }
printf("\n");
fun( x, n , &max, &index);
printf("Max =%5d , Index =%4d\n",max, index );
}
展开
 我来答
terranlong
2012-03-05 · TA获得超过7294个赞
知道大有可为答主
回答量:2660
采纳率:0%
帮助的人:4000万
展开全部
你写的fun函数没问题,问题看注释
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void fun(int a[], int n , int *max, int *d )
{
int i;
*max=a[0];
*d=0;
for(i=1;i<n;i++) //i从1开始循环
if(a[i]>*max)
{
*max=a[i];
*d=i;
}
}
int main()
{
int i, x[20], max , index, n = 10;
srand(time(0)) ; //设置随机种子
for (i=0;i < n;i++)
{
x[i] = rand()%50;
printf("%4d", x[i]) ;
}
printf("\n");
fun( x, n , &max, &index);
printf("Max =%5d , Index =%4d\n",max, index );
return 0;
}

输出结果:
31 42 32 8 3 39 11 23 11 20
Max = 42 , Index = 1
请按任意键继续. . .
追问
首先谢谢你,能运行了,但是结果直接显示Max=48,Index=7
追答
没问题啊,数组的数都是随机的,还有提醒一下,Index是从0开始的,显示7表示第8个
xoalyg
2012-03-05 · TA获得超过4178个赞
知道大有可为答主
回答量:2356
采纳率:100%
帮助的人:2381万
展开全部
/*
20 106 85 150 180 5 84 114 189 121
Max = 189,Index = 8
Press any key to continue
*/
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

void fun(int a[],int n ,int &m) {
int i;
m = 0;
for(i = 1; i < n;i++)
if(a[i] > a[m]) m = i;
}

int main() {
int i,x[20],m,n = 10;
srand(time(NULL));
for(i = 0;i < n;i++) {
x[i] = rand()%200;
printf("%4d",x[i]);
}
printf("\n");
fun(x,n,m);
printf("Max = %d,Index = %d\n",x[m],m);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
809921764
2012-03-04 · 超过13用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:41.8万
展开全部
randomize() ;这条语句在vc中是没有办法运行的。看看你的c语言程序软件是不是vc 。
在vc中用srand()来初始化为随机数生成器。
追问
是vc,您能说的具体点吗,谢谢
追答
VC中使用srand()来初始化为随机数生成器。
代码实例:   
#include   
#include  
#include   
#define N 10   
main()   {   
int i;   
srand(time(0)); /*设置种子,并生成伪随机序列*/   
for(i=0;i<N;++i)   
printf("%d\n",rand()%100);/*得到[0,99]伪随机数*/   
system("pause");   
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式