在c语言中,将一个数插入一个数组中的程序怎么写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在c语言中,将一个数插入一个数组中的程序怎么写?相关的知识,希望对你有一定的参考价值。

有一个已排好序(从大到小)的数组有5个元素,从键盘输入一个数,要求按原排序的规律将它插入到数组中
1.#include<stdio.h>void main(int i,x,j; int 1,5,10,15,20; scanf("%d",&x);for(i=0;i<5;i++)  if(x<a[i])

2.j=i;    /*当这个数比当前数小时,用j记住当前位置,即j=i,中断循环。比当前数大时继续下一个(小应当在左侧,大则在右侧) */

3.break;  for(i=5;i>=j;i--)
a[i+1]=a[i]; /*将位置j以后的数据都向后移一位*/ a[i+1]=x;    /*

4. 把要插入的数x放到a[i]中,因为i--后 i 比实际要插入的位置少1,所以真正插入的位置应该i+1*/

5.for(i=0;i<=5;i++)  /*这时一共有6个数* printf("%d ",a[i]);

参考技术A 有一个已排好序(从大到小)的数组有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]);

参考技术B 你可以先定义一个数组和一个变量,然后把这个变量写入数组,比如
int x,i,a[10];
for(i=0;i<=9;i++)
a[i]=x;
这样程序运行后,数组a[10]的内容依次插入了里面。
参考技术C #include<stdio.h>
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语言程序中如何计算一个数组中的每个整数的个数

#include<stdio.h>
#define MAX_NUM 1024 //假设最大的一个整数为1024
int main()

int b[MAX_NUM]; //统计数组
int a[4098];//输入数组
int i;
int count = 0;
for(i=0;i<4098;i++)

printf("please input a[%d],input -1 to stop:",i);
scanf("%d",&a[i]);

if(a[i] == -1)

break;

count ++;


//初始化统计数组
for(i = 0;i<MAX_NUM;i++)

b[i] = 0;

//统计部分
for(i = 0;i<count;i++)

b[a[i]]++;


for(i = 0;i < MAX_NUM && i < count;i++)

printf("the number of %d is:%d\n",i,b[i]);


追问

请问b[a[i]]++;什么意思

追答

就是统计啊,比如要统计0有多少个?用b[0]来统计,要统计1有多少个,用b[1]来表示,等等

参考技术A 也可以采用先对数组进行排序的方法,然后再统计相同的个数就很容易实现了。(相同的数肯定排在一起) 参考技术B 一个数组中的每个整数的个数 这句是什么意思- -?追问

就是如何编写程序算出一个数组中每个整数的个数如啊1,2,3,4,41有一个,4有两个

追答

嗯。自己写。。很简单的,自己动手尝试下!你可以1---9 每个数字都比较下。遇到相同的就+1,最后输出就可以了。

1.或者,你直接在数组里面做比较,最后输出个数也可以,思路都挺简单,关键要自己去尝试才会有收获

以上是关于在c语言中,将一个数插入一个数组中的程序怎么写?的主要内容,如果未能解决你的问题,请参考以下文章

c语言编程,已经从小到大排好的一维9元素数组在插入一个数,按顺序,怎么写程序?谢谢

在c语言中,怎样在一个数组中插入一数

在c语言中,如何在数组中插入一个数

数组程序设计(用C语言写)

C语言数组的删除,插入

c语言数组内元素相加?