C_learner23 2021-06-19 00:13 采纳率: 100%
浏览 506
已采纳

为什么编译成功但没有结果输出

 

  • 写回答

4条回答 默认 最新

  • qfl_sdu 2021-06-19 00:25
    关注

    1.scanf("%d",&a[i]); //%d后面不用加空格,如果%d后面有空格,输入数据的时候就要多打一个空格

    2.选择排序的逻辑也不是你写的那样的。

    代码修改如下:

    #include <stdio.h>
    int main()
    {
    	int a[10],i,j,min,minindex;
    	printf("please input an array:\n");
    	for(i = 0;i< 10;i++)
    		scanf("%d",&a[i]); //%d后面不用加空格
    	for (i = 0;i<9;i++)
    	{
    		minindex = i;
    		for (j = i+1;j<10;j++)//每轮比较n-1-i次, 找本轮最小数的下标
    		{
    			if(a[minindex] > a[j])
    			{
    				minindex = j;//保存小的数的下标
    			}
    		}
    		//找到最小数之后如果它的下标不是i则说明它不在最左边, 则互换位置
    		if(minindex != i)
    		{
    			min = a[minindex];
    			a[minindex] = a[i];
    			a[i] = min;
    		}
    	}
    	for(i = 0;i< 10;i++)
    		printf("%d ",a[i]);
    	return 0;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?