Ⅰ c语言数组怎么插入一个元素
#include<stdio.h>
#include<stdlib.h>
#define MAX 40
void insert(int*p,int n,int m)
{ int i,k;
for(i=0;i<n;i++)
if(p[i]>=m)
{ k=i;
break;}
for(i=n-1;i>=k;i--)
p[i+1]=p[i];
printf("%d ",k);
p[k]=m;
}
void sort(int*p,int n)
{
int i,j;
for(i=1;i<n;i++)
for(j=0;i+j<n;j++)
if(p[j]>p[j+1])
{ int t;
t=p[j+1];
p[j+1]=p[j];
p[j]=t;
}
}
void main()
{
int a[MAX];
int n,i,m,d;
printf("输入野中则数据个数(n<40):");
d=scanf("%d",&n);
while(d!=1&&n>=40)
{ system("cls");
fflush(stdin);
printf("请重新输入:");
scanf("培指%d",&n);
}
printf("请输入数组元颂棚素:");
for(i=0;i<n;i++)
scanf("%d",a+i);
printf("请输入要插入的数字:");
scanf("%d",&m);
sort(a,n);
insert(a,n,m);
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf(" ");
}
Ⅱ 在c语言中,如何在数组中插入一个数
C语言向有序数组中插入一个数使该数组仍保持有序
#include<stdio.h>
int main()
{int n,i,j,t,k;printf("您喜欢的数组长度:
");
scanf("%d",&n);
int a[n],b[n+1];
printf("您喜欢的有序数组:
");
for(i=0;i<n;i++)
{scanf("%d",&a[i]);}
printf("请输入想插入的数字
");
scanf("%d",&k);
for(i=0;i<=n;i++)
{if(i==n) b[i]=k;else b[i]=0;}
for(i=0; i<n; i++)
{for(j=0; j<n; j++)
{b[j]=a[i++];}}
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; j++)
{printf("%d ",b[j]);}}
Ⅲ 在c语言中,如何在数组中插入一个数
程序1:这个悄肢是输入10个数
先排序
再插入一个数
再排序
数组大小你可以自己更改
#include
<stdio.h>
void
main()
{
int
i,j,m,temp,a[11];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
for(j=i+1;j<10;j++)
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
for(i=0;i<10;i++)
printf("%d
",a[i]);
scanf("%d",&m);
for(i=0;i<10;i++)
if(a[i]>m)
{
temp=a[i];
a[i]=m;
m=temp;
}
a[10]=m;
for(i=0;i<11;i++)
printf("%d
",a[i]);
printf("\n");
}
程序烂运毁2:如饥备果题中已给排好序的数组
不必自己输入的话
#include
<stdio.h>
void
main()
{int
a[11]={1,4,6,9,13,16,19,28,40,100};
int
temp1,
temp2,number,end,i,j;
printf("array
a:\n");
for
(i=0;i<10;i++)
printf("%5d",a[i]);
printf("\n");
printf("insert
date:");
scanf("%d",&number);
end=a[9];
if(number>end)
a[10]=number;
else
{for(i=0;i<10;i++)
{if(a[i]>number)
{temp1=a[i];
a[i]=number;
for(j=i+1;j<11;j++)
{temp2=a[j];
a[j]=temp1;
temp1=temp2;
}
break;
}
}
}
printf("now,array
a:\n");
for(i=0;i<11;i++)
printf("%d
",a[i]);
}
Ⅳ c语言 向有序数组中插入一个数,保持原顺序不变,将新数组输出
#include"stdafx.h"
#include<stdio.h>
intmain()
{
intm,n,i,j,h;
inta[17]={1,5,9,14,23,34,45,56,67,78,89,99,105,126,156};
scanf("%d,%d",&m,&n);
for(i=0;i<15;i++)//这里i<16;改成i<15;因为插入前数组有15个元素
{
if(m<=a[i])//这里m<a[i]改成m<=a[i]
{
for(j=14;j>=i;j--)
a[j+1]=a[j];
a[i]=m;
break;//这里加break;插入m后退出循环
}
}
for(i=0;i<16;i++)
{
if(n<=a[i])//这里n<a[i]改成n<=a[i]
{
for(j=15;j>=i;j--)
a[j+1]=a[j];
a[i]=n;
break;//这里加break;插入n后退出循环
}
}
for(i=0;i<17;i++)//这里i<16;改成i<17;因为插入后数组有17个元素
printf("%d",a[i]);
return0;
}
(4)c语言对数组进行插值扩展阅读
C语言输出数组的每一个值
#include<stdio.h>
intmain()
{
inta[8]={0,1,2,3,4,5,6,7};
printf("%d---%d--%d--%d--%d--%d--%d--%d",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);
return0;
}
Ⅳ 在c语言中,怎样在一个数组中插入一数
#include "stdio.h"
#include "stdlib.h"
void main()
{
int *p,k,h,*q,i,j,e;
printf("请输入数组中的元素的个数最大值:");
scanf("%d"塌模,&k);
p=new int[k];
if(p==NULL)
{
printf("不能分配空间!");
exit(0);
}
printf("请输入数组中的元素的个数:"); //告老可以输入比数组长度小的个数
scanf("%d",&h);
printf("请输入数组中的元素(分别输入):\n");
for(i=0;i<h;i++)
scanf("%d",&p[i]);
if(h==k)
{
q=new int[k+1];
if(p==NULL)
{
printf("不能分配空间!");
exit(0);
}
for(i=0;i<k;i++)
q[i]=p[i];
printf("请输入插入在第几个数的后面和要插入的数:");
scanf("%d%d",&j,&e);
for(i=k;i>=j;i--)
q[i+1]=q[i];
delete p;
q[j]=e;
for(i=0;i<k+1;i++)
printf("%d\t"团友缓,q[i]);
delete q;
}
if(h<k)
{
printf("请输入插入在第几个数的后面和要插入的数:");
scanf("%d%d",&j,&e);
for(i=h-1;i>=j;i--)
p[i+1]=p[i];
p[j]=e;
for(i=0;i<h+1;i++)
printf("%d\t",p[i]);
delete p;
}
}
我使用动态数组来考虑两种情况
1.数组满的,需要从新申请数组,然后后移;
2.直接后移;
Ⅵ 关于C语言在数组里插入一个数
#include"stdio.h"
#include"string.h"
void main()
{
int a[11]={93,58,2,65,4,30,24,45,78,122}; //////////这里定义数组的时候,要写上11,否则会认为该数组只有10个元素,那样的话,亮链无法对其进行插入的。其他地方没有错误
int i,j,temp,n;
for(i=0;i<10;i++)
for(j=0;j<9-i;j++)
if(a[j]>a[j+1])
{temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
printf("按从小到大的排列顺序为:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("请输入你想插入数组的数字:");
scanf("%d",&n);
for(i=0;i<10;i++)
if(n<a[i])
{
for(j=9;j>=i;j--)
a[j+1]=a[j];
break;
}
a[i]=n;
for(i=0;i<11;i++)
printf("察颤%d ",a[i]);
printf("\败键败n");
}
Ⅶ 在c语言中,将一个数插入一个数组中,程序怎么写
有一个已排好序(从大到小)的数组有5个元素,从键盘输入一个数,要求按原排序的规律将它插入到数组中
#include<stdio.h>
void main()
{
int i,x,j;
int a[6]={1,5,10,15,20};
scanf("%d"码册,&x);
for(i=0;i<5;i++)
if(x<族并a[i])
{
j=i; /*当这个数比当前数小时,用j记住当前位置,即j=i,中断循环。比当前数大时继续下一个(小应当在左侧,大则在右侧) */
break;
}
for(i=5;i>=j;i--)
a[i+1]=a[i]; /*将位置j以后的数据都向后移一位*/
a[i+1]=x; /* 把要插入的数x放到a[i]中,因为i--后 i 比实际要插入的位置少1,所以真正插入的位置应该i+1*/
for(i=0;i<=5;i++) /*这时一共有6个迟穗宏数*/
{
printf("%d ",a[i]);
}
}
Ⅷ 在c语言中,将一个数插入一个数组中,程序怎么写
#include
void
main()
{
int
s[10]={1,2,3,4,5,6,7,8,9};
int
n;
printf("请输入需要插入到数组中的位置:");
scanf("%d",&n);
//比如说插入到第三个位置,即s[2]中,则输入3
int
num;
printf("请输入需要插入的数:");
scanf("%d",&num);
for
(int
i=10-1;i>=n;i--)
{
s[i]=s[i-1];
}
s[i]=num;
printf("插入之后的数组:\n");
for
(i=0;i<10;i++)
{
printf("%d
",s[i]);
}
printf("\n");
}
Ⅸ C语言 数组插入
C语言中,数组是一组连续的相同类型的数据集合。 所以激高要在数组中插入元素,需要按照以下步骤:
1、找到插入点;
2、将插入点所在元素,及之后的所有漏铅埋元素,都向后移动一返蚂个单位;
3、将插入点赋值为要插入的元素。
以固定位置插入,代码举例如下:
#include<stdio.h>
voidinsert(int*a,intn,inti,intv)
//将长度为n的数组a,下标为i的位置插入值为v的元素。插入后,数组长度为n+1.
{
intj;
for(j=n-1;j>=i;j--)//将i及以后的后移一位。由于是固定位置插入,所以不需要查找插入位置。
a[j+1]=a[j];
a[i]=v;//插入元素。
}
intmain()
{
inta[5]={1,3,6,7};/五个元素数组,初始化四个值。
inti;
insert(a,4,2,5);//将5插入到a[2]位置。
for(i=0;i<5;i++)
printf("%d",a[i]);//输出结果,为13567
return0;
}
Ⅹ 用C语言编写一个线性插值程序
#include<stdio.h>
doubleLerp(doublex0,doubley0,doublex1,doubley1,doublex)
{
doubledy=y1-y0;
if(dy==0){
printf("除0错误! ");
return0;
}
returnx*(x1-x0)/dy;
}
intmain()
{
doublex0,x1,y1,y0,x,y;
printf("Inptux0y0x1y1x:");
scanf("%lf%lf%lf%lf%lf",&x0,&y0,&x1,&y1,&x);
y=Lerp(x0,y0,x1,y1,x);
printf("y=%lf ",y);
return0;
}