标题:求教一个关于采用scanf函数循环输入
只看楼主
love51606
Rank: 1
等 级:新手上路
帖 子:13
专家分:4
注 册:2012-12-17
结帖率:66.67%
已结贴  问题点数:5 回复次数:2 
求教一个关于采用scanf函数循环输入
#include <stdio.h>
#include <string.h>
#define N 10
void selection_sort(int a[], int n);                           //排序函数
int main(void)
{
  int a[N];
  int i;
    for(i=1;i<=N;i++)
    {
        printf("Enter a number %d:",i);
        scanf("%d",&a[i]);            //此处为我想做的循环输入,但是输入的最后一个值不对,去掉操作数组符 '&',输入第一个报错.
        
    }
    selection_sort(a,N);
    for(i=0;i<N;i++)
        {
            printf("%d\n",a[i]);
        }
        getchar();
        return 0;
}

void selection_sort(int a[], int n)
{
  int max;
  int j,x=0;
  max=a[0];
  for(j=0;j<n;j++)
  {
   if(a[j]>max)
    {
       max=a[j];
       x=j;
     }
  }
  a[x]=a[n-1];
  a[n-1]=max;
  if(n>1) selection_sort(a,n-1);
}


用VC++6.0调试出现以上错误,求高手指点...
搜索更多相关主题的帖子: void include number Enter 
2013-01-07 14:04
love51606
Rank: 1
等 级:新手上路
帖 子:13
专家分:4
注 册:2012-12-17
得分:0 
我明白了,是对数组的操作有误,我没有给a[0]赋值...
#include <stdio.h>
#include <string.h>
#define N 10
void selection_sort(int a[], int n);
int main(void)
{
  int a[N];
  int i;
    for(i=0;i<N;i++)
        {
            printf("Enter a number %d:",i);
            scanf("%d",&a[i]);
        // getchar();
        }
    selection_sort(a,N);
    for(i=0;i<N;i++)
        {
            printf("%d\n",a[i]);
        }
        getchar();
        return 0;
}

void selection_sort(int a[], int n)
{
  int max;
  int j,x=0;
  max=a[0];
  for(j=0;j<n;j++)
  {
   if(a[j]>max)
    {
       max=a[j];
       x=j;
     }
  }
  a[x]=a[n-1];
  a[n-1]=max;
  if(n>1) selection_sort(a,n-1);
}
2013-01-07 14:17
x_x
Rank: 2
等 级:论坛游民
帖 子:44
专家分:43
注 册:2012-10-16
得分:4 
递归,,写得好,看了会才看懂,
2013-01-07 14:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-395607-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.528887 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved