c语言 求从一个已拍好顺序的数列中添加一个数使之继续能够按顺序输出出来

我写出了输入一部分 能否就在我的程序上继续编写
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{int p,i,j,t,a[5];
for(p=0;p<5;p++)
scanf("%d",&a[p]);
for(i=0;i<5;i++)
for(j=0;j<5-i;j++){
if(a[j]>a[j+1]){
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
for(p=0;p<5;p++)
printf("%d",a[p]);
}
只是简单的排序

#include "stdio.h"
#include "stdlib.h"

int main()
{
int p,i,j,t,a[5],m;
m=5;
for(p=0;p<5;p++)
scanf("%d",&a[p]);
for(i=0;i<5;i++)
for(j=0;j<4-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];a[j]=a[j+1];a[j+1]=t;
}
}
for(p=0;p<5;p++)
printf("%d\t",a[p]);

realloc(a,sizeof(a)+sizeof(int *));

scanf("%d",&a[p]);
m=m+1;
while(a[p]<a[p-1])
{
t=a[p];a[p]=a[p-1];a[p-1]=t;
p=p-1;
}
for(p=0;p<m;p++)
printf("%d\t",a[p]);
}追问

realloc(a,sizeof(a)+sizeof(int *));这是什么意思 我还没学到指针 能不能换个方法

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-02-19
同学 这个数组只有5个长度 在添加一个数 不是 溢出了追问

我知道啊 我的意思是可以在我这里修改

第2个回答  2013-02-17
,,,,,,,,,,,为了混任务,,,,,,,,,,,,,,,,,,,,,,,,,

C程序编写,将一个数插入到一个已经有序的数组里,要求保持有序
b[j] = a[i++];\/\/依次将数组a付给b } } for (j = 0; j < n; j++)\/\/冒泡排序,将数组数列排好 { for (i = 0; i < n - j; i++){ if (b[i] > b[i + 1]){ t = b[i];b[i] = b[i + 1];b[i + 1] = t;} } } for (j = 0; j < n + 1; ...

用c语言编程一个程序:有n个数已经从小到排列好,要求输入一个数将其插 ...
j = 0;int a[11] = {10,20,30,40,50,60,70,80,90,100};int n = 0;int num = 10;int tmp = 0;printf("原有数组:\\n");for (i=0; i<num; i++){printf("%d ",a[i]);}printf("\\n");printf("请输入要插入的数:\\n");scanf...

用C语言编程:在有序的数列中插入若干个数,每插入一个数都要保持有序
用数组也不是很难,思路就是从最后那个数据开始比较,如数组时从小到大排列的,那就比价是否比这个数据大,要是小,那这个数组中的数就后移一位,在比较前面的,不大,就插入它后面 代码是 int a[100]; \/\/这里有部分数据如50个,a1~a49是有序的 int c; \/\/这个是插入的数据 int i,n...

C语言程序中,如何在原有数列中插入一个数
从当前数列最后一个开始搜索,与你要插入的数x比较,如果它比x大,将该数向后移一个位置,继续向前搜索;如果当前数小于等于x,就将x直接放到当前数的下一个位置;如果一直到最前面的数都比x大,那么所有数向后移之后将x放在第一个位置

有一个N个元素的有序数列,输入一个数,判断这个数是否在数列中,如果在...
int main( ){ int i,a[N],num,flag;srand(time(NULL));while(1){ flag=0;printf("开始生成%d个2位随机整数数组成的数列\\n",N);for(i=0;i<N;i++)a[i]=rand()%100;if(F)for(i=0;i<N;i++)printf("%d ",a[i]);printf("\\n请输入一个数:");scanf("%d",&num);for(...

c语言:编写程序,在有序的数列中查找某数,若该数在此数列中则输出它的...
之前写过一个程序类似的,你可以用作参考:题目:试编写一个程序完成:有15个数按从下到大的顺序存放在一个数组中.输入一个数,要求折半查找法找出该数是数组中第几个元素的值.如果该数不在数组中,输出“不在表。===下面是C代码,其中数组没有设计为录入,而是固定数组=== \/\/输出的序列是...

有10个数已按由小到大的顺序排列好,要求输入一个数,把它插入到原有数 ...
={0,2,3,4,5,6,7,8,9,10};int i,n,k;printf("请输入N值:\\n");scanf("%d",&n);for(i=0;i<10;i++){ k=i;if(nk;i--)a[i]=a[i-1];a[k]=n;break;} } for(i=0;i<11;i++)printf("%d ",a[i]);printf("\\n");return 0;} ...

C语言:从一个数列中找到最小的数,并将它插入到最前面
您好,#include <stdio.h> int main(void){ int n,i,j,k,x[100],min,p,t;while(scanf("%d",&n)!=EOF&&n!=0){ for(i=0;i<n;i++)scanf("%d",&x[i]);min=x[0];for(j=1;j<n;j++){ if(min>x[j]){ min=x[j];k=j;} } t=x[0];x[0]=x[k];x[k]=t;f...

C语言编程:有序数列的数据插入问题。将一个数插入到已有10个整数的有...
include"stdio.h"define N 20 main(){ \/\/10个元素,20个空间 int i,,p,a[N]={1,2,4,6,8,10,22,25,35,50};int s;scanf("%d",&s);for(i=0;a[i]<s&&i<10;i++) \/\/找位置 ;p=i;for(i=10;i>=p;i--) \/\/后移数 a[i]=a[i-1];a[p]=s; \/\/插入数 fo...

求高人帮编一个有关顺序表的C语言程序,望速回,非常感谢
printf("请输入要添加的数:\\n");scanf("%d",&a[n-1]);printf("新数列为:\\n");for(i=0;a[i]!=0;i++)printf("%d\\t",a[i]);return a[20];} void chazhao1(int a[])\/*顺序查找*\/ { int n=0,num;printf("请输入要查找的数:\\n");scanf("%d",&num);for(int i=0...

相似回答