略懂c语言 2022-04-21 22:56 采纳率: 92.6%
浏览 29
已结题

c语言有帮我看看加一空格

在一行上输出从小到大排好序的n个数,每两个数据之间留一个空格。每两组数据之间留一个空行。
输入
3 3 1 2
5 4 5 2 1 3
输出
1 2 3

1 2 3 4 5
我的代码如下
#include<stdio.h>
int main()
{
int i=0;
int j=0;
int tmp,n;
int arr[20];
while(~scanf("%d",&n)){

for(i=0;i<n;i++)
{
    scanf("%d",&arr[i]);
}
for(i=0;i<n-1;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(arr[j]<arr[i])
            {
                tmp=arr[i];
                arr[i]=arr[j];
                arr[j]=tmp;
            }
        }
    }

for(i=0;i<n;i++)
{
         if(i<n-1)
printf("%d ",arr[i]);
    else
        printf("%d\n",arr[i]);
}}

return 0;

}

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-04-22 00:11
    关注

    供参考:

    #include<stdio.h>
    int main()
    {
        int i=0,j=0,k=0;
        int tmp,n;
        int arr[20];
        while(~scanf("%d",&n)){
    
            for(i=0;i<n;i++)
            {
                 scanf("%d",&arr[i]);
            }
            for(i=0;i<n-1;i++)
            {
               for(j=i+1;j<n;j++)
               {
                   if(arr[j]<arr[i])
                   {
                      tmp=arr[i];
                      arr[i]=arr[j];
                      arr[j]=tmp;
                   }
               }
            }
            k == 0 ? k++:printf("\n"); //修改 每两组数据之间留一个空行。
            for(i=0;i<n;i++)
            {
                if(i<n-1)
                    printf("%d ",arr[i]);
                else
                    printf("%d\n",arr[i]);
            }
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月30日
  • 已采纳回答 4月22日
  • 创建了问题 4月21日

悬赏问题

  • ¥30 自适应 LMS 算法实现 FIR 最佳维纳滤波器matlab方案
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥15 Python3.5 相关代码写作
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像