FLY


私信TA

用户名:dotcpp0680047

访问量:5468

签 名:

等  级
排  名 2641
经  验 2129
参赛次数 0
文章发表 9
年  龄 20
在职情况 学生
学  校 auu
专  业 计科

  自我简介:

解题思路:

首先是输入只含有9个元素的数组a[10],用for循环依次输入。接着输入插入的数字m,将m与数组元素比较。

1、当m<=a[0]时,记录t=0;

2、当m>=a[8]时,记录9;

3、当a[i]<=x<=a[i+1]时,记录x应该插入的位置t=i+1。

但是插入m之前要把元素往后移位,从后往前直到位置t,最后把m赋值给a[t],用for循环输出排好的a[10]。
注意事项:1、找插入位置时注意break退出遍历循环,不然就会出错误;

                2、移位从后往前,不然从前往后会使数据丢失。

参考代码:

#include<stdio.h>
int main()
{
    int a[10],i,m,t;
    for(i=0;i<9;i++)
    {
	scanf("%d",&a[i]);
    }
a[9]=0;
    scanf("%d",&m);
    if(m<=a[0])
        t=0;
    if(m>=a[8])
        t=9;
    for(i=0;i<9;i++)
    {
        if(m>=a[i]&&m<=a[i+1])
        {
            t=i+1;
            break;
        }
    }
    for(i=9;i>t;i--)
    {
        a[i]=a[i-1];
    }
    a[t]=m;
    for(i=0;i<10;i++)
    {
        printf("%d",a[i]);
        printf("\n");
    }
	return 0;
}


 

0.0分

48 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

#include<stdio.h>
int main()
{
    int a[9],b,k;
    for(int i=0;i<9;i++)
    scanf("%d",&a[i]);
    scanf("%d",&b);
    for(int i=0;i<9;i++)
    {
        if(b>a[i])
            printf("%d\n",a[i]);
        if(b<a[i])
        {
            k=i;
            printf("%d\n",b);
            for(i=k;i<9;i++)
                printf("%d\n",a[i]);
            break;
        }
    }
    return 0;
}
2023-11-13 13:07:39
#include<stdio.h>
int main()
{
    int i,j,x,tmp,a[10]={0};
    for(i=0;i<9;i++)
    {
        scanf("%d",&a[i]);
    }
    scanf("%d",&x);
    a[9]=x;
    for(i=0;i<10;i++)
    {
        for(j=0;j<10-i-1;j++)
        {
            if(a[j]>a[j+1])
            {
                tmp=a[j];
                a[j]=a[j+1];
                a[j+1]=tmp;
            }
        }
    }
    for(i=0;i<10;i++)
    {
        printf("%d\n",a[i]);
    }
    return 0;
}
2023-11-11 16:09:49
这个好理解 ,没看懂踢我(滑稽)
#include<stdio.h>
int main(void)
{
	int a[9],i,m,k;
	for(i=0;i<=8;i++)
	{
		scanf("%d",&a[i]);
	}
	scanf("%d",&m);
	for(i=0;i<=8;i++)
	{
		if(a[i]<m&&a[i+1]>m) k=i;
	}
	for(i=0;i<=k;i++)
	{
		printf("%d\n",a[i]);
	}
	printf("%d\n",m);
	for(i=k+1;i<=8;i++)
	{
		printf("%d\n",a[i]);
	}
	return 0;
}
2023-10-31 00:10:24
不写break也是对的
2023-10-28 16:13:46
a[9]=0有什么用
2023-10-24 12:49:05
#include<stdio.h>
int main()
{
    
    int a[10]={0};
    int temp=0,n;
    for(int i=0;i<9;i++)
    {
        scanf("%d",&a[i]);
        
    }
  //  printf("\n");
    scanf("%d",&n);
    a[9]=n;
    for(int x=0;x<10;x++)
    {
        for(int y=0;y<10;y++)
    {
        if(a[x]<a[y])
        {
            temp=a[y];
            a[y]=a[x];
            a[x]=temp;
        }
    }
    
    }
    for(int z=0;z<10;z++)
    {
    	printf("%d\n",a[z]);
	}
   return 0; 
}
2023-09-28 14:35:55