PTA实验7-1-5 选择法排序 (20分) 格式错误

 

输入格式:

输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。

输出格式:

在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。

输入样例:

4
5 1 7 6

输出样例:

7 6 5 1

 

 

这题我开始写完了就是一直报格式错误,后来我把空格换成+号,再运行一下就很快明白了

 

#include<stdio.h>
int main()
{
    int n;
    scanf("%d\n",&n);
    //录入数组 
    int i;
    int arr[n];
    for(i=0;i<=n-1;i++)
    {
        scanf("%d",&arr[i]);
    }
    
    
    
	for(int x=1;x<=n-1;x++)
	{
		int temp;
	    for(i=x;i<=n-1;i++)
	    {
	    	if(arr[i]>arr[x-1])
	    	{
	    		temp = arr[x-1];
	    		arr[x-1] = arr[i];
	    		arr[i] = temp;
	    	
			}
		}
	}
	

    //打印 ,这里就很奇葩,你把空格换成+号或者其他符号就明白为啥要先输出arr[0]了
    printf("%d", arr[0]);
	for(i=1; i<n; i++)
		printf(" %d", arr[i]);
    return 0;
}


//找打数组里最大的那个,并将其放到最前面 
    /*
    int temp;
    for(i=1;i<=n-1;i++)
    {
    	if(arr[i]>arr[0])
    	{
    		temp = arr[0];
    		arr[0] = arr[i];
    		arr[i] = temp;
    	
		}
	}
	*/
//再来一遍
    /*
    int temp2;
    for(i=2;i<=n-1;i++)
    {
    	if(arr[i]>arr[1])
    	{
    		temp = arr[1];
    		arr[1] = arr[i];
    		arr[i] = temp2;
    	
		}
	}
    
    */
    

错误写法一(写在后):

运行结果:

错误写法二(写在前):

运行结果:

 


版权声明:本文为zhengzhongz原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。