论坛: 编程破解 标题: 头痛啊。(C语言)。找最小数及其下标。 复制本贴地址    
作者: baobao [gnijnil]    论坛用户   登录
有一数组,内放10个整数,要求找出最小的数和它的下标,然后把它和数组中最前面的元素对换。

下标要怎么找出来了。头痛啊。。

main()
{
int i,j,k=0,l,a[10]={80,40,60,20,100,10,30,50,70,90};
clrscr();
for(i=0;i<10;i++)
  printf("%d ",a[i]);
printf("\n");
j=a[0];
for(i=1;i<10;i++)
  if(j>a[i])
    { j=a[i];
      k++;    /*这个帮我改了一下。我实在想不出来了*/
    }
printf("i==%d  ",k);
l=a[0];
a[0]=a[k];
a[k]=l;
for(i=0;i<10;i++)
  printf("%d ",a[i]);

}

我用k做下标。



[此贴被 286(unique) 在 04月20日09时15分 编辑过]

地主 发表时间: 05-04-19 18:46

回复: lida1818 [lida1818]   论坛用户   登录
k=i;

B1层 发表时间: 05-04-19 19:11

回复: baobao [gnijnil]   论坛用户   登录
对啊。。。。

B2层 发表时间: 05-04-20 15:38

回复: llk2005 [llk2005]   论坛用户   登录
我的代码乱了一些 可是 能完成你的要求 如下:
#include<stdio.h>
int small(int nbr[],int len);
main()
{ int nbr[10];
  int i;
  printf("Enter 10 numbers please:");
  for(i=0;i<10;i++){
  scanf("%d",&nbr[i]);}
  small(nbr,10);

int small(int nbr[],int len)
{  static int k;
    int x=0,sm=3276;
   
    int m=nbr[0];
    for(;x<len;x++)
    {
        if(nbr[x]<=sm)
        {  sm=nbr[x];
            k=x;
        }
    }
    nbr[0]=nbr[k];
    nbr[k]=m;
    printf("%d\n",k);
    for(int d=0;d<len;d++)
    {
        printf("%d\t",nbr[d]);
    }
    return 0;
}           
  我懒得解释  你自己看吧   
       
  在Dev-c++下 调试成功 由于不能传附件  QQ群:1918900的群共享里有这个exe文件   



B3层 发表时间: 05-04-22 19:48

回复: llk2005 [llk2005]   论坛用户   登录
也不知道你 看了 没有 也不留个言 没礼貌

B4层 发表时间: 05-04-26 18:02

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号