日暮迟归 2022-10-28 09:22 采纳率: 75%
浏览 24
已结题

输入n+1个数字,第一行将前n个数字按大小排序,第二行寻找重复的数字并输出在第一行中的位置,第三行将n+1个数字按大小排序

#include <stdio.h>

int main(){
int n,i=0,j,max,min,b;
char y;
int a[100000000];
do
{scanf("%d",&a[i]);
i++;}
while(y=getchar()!='\n');
n=i+1;
for(min=a[b],b=0;b<i-2;b++)
{if(a[i]>a[i+1])
{min=a[i+1];
a[i+1]=a[i];
a[i]=min;};};
for(j=0;j<n;j++)
{printf("%d ",a[j]);};
for(b=0;b<n;b++)
{if(a[b]=a[i])
{printf("%d ",b);
break;};
printf("无此数");};
for(b=0,max=a[b];b<n;b++)
{if(a[b]<a[b+1])
{max=a[b+1];
a[b+1]=a[b];
a[b]=max;};};
for(j=0;j<=n;j++)
printf("%d ",a[j]);

return 0;

}

  • 写回答

1条回答 默认 最新

  • 楠山若芸 新星创作者: C/C++技术领域 2022-10-28 09:37
    关注
    
    #include<stdio.h>
    #define N h
    int main()
    {
        int h;
        scanf("%d",&h);
        int a[N],i,j,temp;
        for(i=0;i<N;i++)
        {
            scanf("%d",&a[i]);
        }
        for(i=0;i<N-1;i++)
        {
            for(j=i+1;j<N;j++)
            {
                if(a[i]<a[j])
                {
                    temp=a[i];
                    a[i]=a[j];
                    a[j]=temp;         #从数组a[0]开始将a[1]到a[n]的数做比较,直到找到最大的数,以此循环
                }
            }
        }
        for(i=0;i<N;i++)
        {
            if(i==0)
                printf("%d",a[i]);
            else printf(" %d",a[i]);
        }
    }
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月28日
  • 创建了问题 10月28日