请问如下内容,哪步错了呢?把a[i]赋给b[i]的地方?

已知一个数组a大小为20个元素,用随机函数生成20个整数填充该数组,再将该数组元素从小到大排序。现要求任意输入三个整数,要求将该三个数插入数组中合适的位置,使得这个数组中的23个元素仍然按照从小到大的顺序排列,并将数组按下标顺序输出
拜托了,好烦一直想不出来~
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main(){

int a[20],i,k,n,b[23],l,m,w;
srand(time(NULL));
for(i=0;i<20;i++)
a[i]=rand()%100;

for(i=1;i<=19;i++)
for(k=0;k<=19-i;k++)
if(a[k]>a[k+1]){
n=a[k],a[k]=a[k+1],a[k+1]=k;
}
for(i=0;i<20;i++)
printf("%d\n",a[i]);

printf("input three number:\n");
scanf("%d%d\%d",&l,&m,&w);

for(i=0;i<20;i++)
a[i]=b[i];

b[20]=l,b[21]=m,b[22]=w;
for(i=1;i<=22;i++)
for(k=0;k<=22-i;k++)
if(b[k]>b[k+1]){
n=b[k],b[k]=b[k+1],b[k+1]=k;
}
for(i=0;i<=22;i++)
printf("b[%d]=%d\n",i,b[i]);
getch();

}
哪错了呢?把a[i]赋给b[i]的地方?

哈士奇WWW
浏览 107回答 2
2回答

吃鸡游戏

技术要点:随机数,冒泡排序.(如果c语言这两项不是很熟,请查阅网上资料)思路:1.先产生20个随机数,装入大小为20的数组a.2.利用冒泡法,使数组a中的数从小到大排序.3.定义一个大小为23的数组b,将数组a中的数装入b的前20位,再把任意输入的三个整数装入b的后三位.4.再进行一次冒泡排序.5.按下标顺序输出.由于本人专精c#,c的有些语法不是很熟了,只能给你点到这个地方.

狐的传说

Sub SORT_ARRAY()Dim X, Y, Z, TEMPDim A_ARRAY(20)Dim B_ARRAY(23)Dim I, J, SWITCH'This variable is used to control the loopSWITCH = 0'Move value to arrayFor I = 1 To 20'array a is for 20 elements dataA_ARRAY(I) = Sheet1.Cells(I, 1).Value'array b is for 23 elements data including 3 user input dataB_ARRAY(I) = Sheet1.Cells(I, 1).ValueNextB_ARRAY(21) = Sheet1.Cells(21, 1).ValueB_ARRAY(22) = Sheet1.Cells(22, 1).ValueB_ARRAY(23) = Sheet1.Cells(23, 1).Value'Sort ArrayDo Until SWITCH = 1SWITCH = 1For I = 1 To 22J = I + 1If B_ARRAY(I) > B_ARRAY(J) ThenTEMP = B_ARRAY(I)B_ARRAY(I) = B_ARRAY(J)B_ARRAY(J) = TEMPSWITCH = 0End IfNextLoop'Move value back to excel cellsFor I = 1 To 23Cells(I, 1).Value = B_ARRAY(I)NextEnd Sub以上这段程序是用excel vba写的 经过测试可以用我想你那边的程序 也可以套用这个逻辑
打开App,查看更多内容
随时随地看视频慕课网APP