Babylanyon 2020-12-09 20:19 采纳率: 55.6%
浏览 9
已采纳

这个程序哪里有问题???

原题

有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数m,请将该数插入到序列中,并使新的序列仍然有序。要求:

    1)输入一个正整数n(0<n<100)。

    2)按照从小到大的顺序输入n个整数,用空格分开。

    3)输入一个整数m。

    4)输出插入m以后的n+1个有序整数。数的输出均采用“%4d”格式。

#include<stdio.h>
int main( )
{
	int  a[100] , i,j, k,b, t,m,n,c;
    scanf("%d",&n);
	for(m=0;m<n+1;m++)
		scanf("%d",&a[m]);
	scanf("%d",&j);
	a[m]=j;
	for(i=0;i<n;i++)
	{
		k=i;
			for(b=i+1;b<n;b++)
				if(a[b]<a[k])
				{
					t=a[k];
				    a[k]=a[b];
				    a[b]=t;
				}
	}
	for(c=0;c<=n;c++)
		printf("%4d",a[c]);
	printf("\n");
	return 0;
}


  • 写回答

1条回答 默认 最新

  • qq_25376897 2020-12-10 11:52
    关注
    #include <stdio.h>
    
    int main( )
    {
        int a[100],i,j,k,b,t,m,n,c;
        scanf("%d",&n);
    	for(m=0;m<n;m++)//下标从0开始,n不用+1
    	    scanf("%d",&a[m]);
    	scanf("%d",&j);
    	a[m]=j;
    	for(i=0;i<=n;i++)//因为输入了j,多了一个,所以加了个=
    	{
    	    k=i;
    		for(b=i+1;b<=n;b++)
    			if(a[b]<a[k])
    			{
    				t=a[k];
    				a[k]=a[b];
    				a[b]=t;
    			}
    	}
    	for(c=0;c<=n;c++)
    		printf("%4d",a[c]);
    	printf("\n");
    	return 0;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化