求一道C语言题的代码

先从键盘上输入10个整数存放在一个数组内,然后找出其最大值和最小值以及它们的下标值。若最大值不止一个的话,相同的最大值的所有下标都输出。有相同的数及其下标也要输出#inc... 先从键盘上输入10个整数存放在一个数组内,然后找出其最大值和最小值以及它们的下标值。若最大值不止一个的话,相同的最大值的所有下标都输出。有相同的数及其下标也要输出
#include<stdio.h>
void main()
{
int a[10],i;
int max,min,c=0,b=0;
printf("Input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=min=a[0];
for(i=1;i<10;i++)
{
if(a[i]>max)
{
max=a[i];
b=i;
}
if(a[i]<min)
{
min=a[i];
c=i;
}
}
printf("max number:%d",max);
printf("下标为:%d\n",b);
printf("min number:%d",min);
printf("下标为:%d\n",c);
}
这是我自己写的代码,不完整的,求修补
展开
 我来答
nigoole
2013-04-25 · TA获得超过1369个赞
知道小有建树答主
回答量:675
采纳率:71%
帮助的人:432万
展开全部

/*先从键盘上输入10个整数存放在一个数组内,然后找出其最大值和最小值以及它们的下标值。

若最大值不止一个的话,

相同的最大值的所有下标都输出。有相同的数及其下标也要输出 */

#include<stdio.h> 

void main()

 int a[10],i; 

 int max,min,c=0,b=0; 

 printf("Input 10 numbers:\n"); 

 for(i=0;i<10;i++) 

  scanf("%d",&a[i]); 

 max=min=a[0]; 

 for(i=0;i<10;i++) 

 {   

  if(a[i]>=max) 

  {    max=a[i];    b=i;   }   

  if(a[i]<min) 

  {    min=a[i];c=i;   }

  for( int j=i+1;j<10;j++)

  {

   if(a[i]==a[j])

    printf("a[%d]=a[%d]=%d\n",i,j,a[i]);

  }

 }   

 printf("max number:%d",max);   

 printf("下标为:%d\n",b); 

 printf("min number:%d",min); 

   printf("下标为:%d\n",c); 

 }

你看可以不

百度网友6fe74e2
2013-04-25 · TA获得超过6591个赞
知道大有可为答主
回答量:1973
采纳率:100%
帮助的人:191万
展开全部
修改如下:
#include<stdio.h>
void main()
{
int a[10],i;
int max,min,c=0,b=0;
printf("Input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=min=a[0];
for(i=1;i<10;i++)
{
if(a[i]>max)
{
max=a[i];
//b=i;
}
if(a[i]<min)
{
min=a[i];
//c=i;
}
}
//再用for循环找出最大最小值的位置
for(i=0;i<10;i++)
{
if(a[i]==max)
{
printf("max number:%d 下标为%d\n",max,i);
}

}
for(i=0;i<10;i++)
{
if(a[i]==min)
{
printf("min number:%d 下标为%d\n",min,i);
}

}

// printf("max number:%d",max);
// printf("下标为:%d\n",b);
//printf("min number:%d",min);
//printf("下标为:%d\n",c);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
262454893
2013-04-25 · TA获得超过131个赞
知道答主
回答量:169
采纳率:0%
帮助的人:113万
展开全部
修改后!
#include<stdio.h>
int main()
{
int a[10],i;
int max,min,c=0,b=0;
printf("Input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=min=a[0];
for(i=1;i<10;i++)
{
if(a[i]>max)
{
max=a[i];
b=i;
}
if(a[i]<min)
{
min=a[i];c=i;
}
}
printf("max number:%d",max);

for(int i = 0; i < 10;i++)
if(a[i] == max)
printf("最大的下标为:%d\n\n",i);

printf("min number:%d",min);
for(int i = 0; i < 10;i++)
if(a[i] == min)
printf("最小的下标为:%d\n\n",i);

for(int i = 0 ; i < 10 ; i++)
for(int t = 0 ; t < 10; t++)
if(a[i] == a[t] && i!=t)
printf("相同的%d:下标 %d 下标 %d\n\n",a[i],i,t);

return 0;
}
测试结果:
[admin@njgxserver02 ~]$ ./a.out
Input 10 numbers:
33
44
55
1
1
1
12
3
1
43
max number:55最大的下标为:2
min number:1最小的下标为:3最小的下标为:4最小的下标为:5最小的下标为:8
相同的1:下标13 下标24

相同的1:下标13 下标25
相同的1:下标13 下标28
相同的1:下标14 下标25
相同的1:下标14 下标28
相同的1:下标15 下标28
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
火焰遁地鼠
2013-04-25 · 超过26用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:51.6万
展开全部
#include<stdio.h>
int main()
{
int a[10],i,MIN[10],MAX[10],maxnum=0,minnum=0;
int max,min,c=0,b=0;
printf("Input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=a[0];
min=a[0];
for(i=1;i<10;i++)
{
if(a[i]==max)
MAX[++maxnum]=i;
else if(a[i]>max)
{
maxnum=1;
MAX[1]=i;
max=a[i];
}
if(a[i]==min)
MIN[++minnum]=i;
else if(a[i]<min)
{
minnum=1;
MIN[1]=i;
min=a[i];
}
}
printf("max number:%d",max);
for(i=1;i<=maxnum;i++)
printf("下标为:%d ",b);
printf("\n");
printf("min number:%d",min);
for(int i=1;i<=minnum;i++)
printf("下标为:%d ",c);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式