瞅不出来问题错哪里了,求指出。插入一个数
#include<stdio.h>main()
{
int a={1,2,3,4,5,6,11,8,9};
int i,j;
printf("请输入要插入的这个数");
scanf("%d",&j);
for(i=8;i>=0;i--)
{
if(a>j)
a=a;
else
a=j;
break;
}
for(i=0;i<=9;i++)
{
printf("%d\n",a);
}
} 本帖最后由 jackz007 于 2021-12-1 00:29 编辑
如果是顺序插入,那么就必须先排序。
#include<stdio.h>
int main(void)
{
int a={1,2,3,4,5,6,11,8,9} ;
int i , j , k , n , m , t ;
for(n = 9 , i = 0 ; i < n - 1 ; i ++) {
for(j = i + 1 ; j && a < a ; j --) {
t = a ;
a = a ;
a = t ;
}
}
printf("请输入要插入的这个数 : ") ;
scanf("%d" , & k) ;
for(i = 0 ; i < n && a < k ; i ++) ;
for(j = 0 ; j < n - i ; j ++) a = a ;
a = k ;
n ++ ;
printf("%d" , a) ;
for(i = 1 ; i < n ; i ++) printf(" %d" , a) ;
printf("\n") ;
}
编译、运行实况:
D:\00.Excise\C>x
请输入要插入的这个数 : 10
1 2 3 4 5 6 8 9 10 11
D:\00.Excise\C> 本帖最后由 jhq999 于 2021-12-1 10:24 编辑
#include<stdio.h>
int main()
{
int a={1,2,3,4,5,6,8,9,11,0};//先从小到大排序
int i,j;
printf("请输入要插入的这个数");
scanf("%d",&j);
for(i=8;i>=0;i--)
{
if(a<j)
{
a=j;
break;
}
else
{
a=a;
}
}
if (i<0)
{
a=j;
}
for(i=0;i<10;i++)
{
printf("%d\n",a);
}
return 0;
}
请输入要插入的这个数7
1
2
3
4
5
6
7
8
9
11
jhq999 发表于 2021-12-1 10:11
我定义数组a,但我第十个元素没输入,然后随着我插入一个数,到序插入,然后比他大的数就填到后面。我感觉我程序没问题,但就是没正确·结果·。例如输入个7,数据是我上面的。 本帖最后由 小黄练编程 于 2021-12-1 13:35 编辑
jhq999 发表于 2021-12-1 10:11
我数组数据没从小到大排序,我问题解决了,想了半天,我在循环if语句后,加了a=j,解决了。{:5_111:}
#include<stdio.h>
main()
{
int a={1,2,3,4,5,6,11,8,9};
int i,j;
printf("请输入要插入的这个数");
scanf("%d",&j);
for(i=8;i>=0;i--)
{
if (a>=j)
{
a=a;
}
else
{
a=j;
break;
}
a=j;
}
for(i=0;i<=9;i++)
{
printf("%d\n",a);
}
}
本帖最后由 小黄练编程 于 2021-12-1 13:38 编辑
小黄练编程 发表于 2021-12-1 13:33
我数组数据没从小到大排序,我问题解决了,想了半天,我在循环if语句后,加了a=j,解决了。
...
数组a【i】打不出? 本帖最后由 jhq999 于 2021-12-1 15:44 编辑
小黄练编程 发表于 2021-12-1 13:36
数组a【i】打不出?
如果是10的话,你是插在11的前面还是9的后面? 本帖最后由 小黄练编程 于 2021-12-1 17:29 编辑
jhq999 发表于 2021-12-1 15:23
如果是10的话,你是插在11的前面还是9的后面?
是哦,刚改了{:5_111:} {:5_111:} {:5_111:}
#include<stdio.h>
main()
{
int a={1,2,3,4,5,6,11,8,9};
int i,j,t;
for(i=0;i<=9;i++)
{
for(j=0;j<=9-i;j++)
{
if(a<a)
{
t=a;
a=a;
a=t;
}
}
printf("%d\n",a);
}
printf("请输入要插入的这个数");
scanf("%d",&j);
for(i=8;i>=0;i--)
{
if (a>=j)
{
a=a;
}
else
{
a=j;
break;
}
a=j;
}
for(i=0;i<=9;i++)
{
printf("%d\n",a);
}
} 本帖最后由 jhq999 于 2021-12-1 17:52 编辑
小黄练编程 发表于 2021-12-1 17:24
是哦,刚改了
#include
main()
以后把代码放在"\"和"\"之间(去掉\) jhq999 发表于 2021-12-1 17:49
以后把代码放在"\"和"\"之间(去掉\)
{:5_93:}{:5_93:}{:5_111:}没看懂啊大哥,这话啥意思。 发代码时按这个
页:
[1]