在键盘上输入10个元素,利用插入法降序排列,现输入一个数x,要求插入到数组中,插入后仍按原规律排列。

作者&投稿:云胃 (若有异议请与网页底部的电邮联系)
C语言有一个已排好序的整型数组,有10个元素,要求从键盘输入一个数后,按原来排序的规律将它插入数组中~

源代码如下:
#include
#include
int main()
{
int a[20],i,n,x,k;
printf("请输入一组顺序数(从小到大的顺序):");
for( i=0; ;i++ )
{
scanf("%d",&a[i]);
if( getchar() == '
' )
break;
}
n = i + 1; //n表示数组内数字的个数
printf("请输入需要插入的数:");
scanf("%d",&x);
for(i=0;i<n;i++)
{
if( x<= a[i] )
{
for( k= n-1; k >= i; k--)
{
a[k+1]=a[k];
}
a[i]=x;
break;
}
}
for(i=0;i<=n; i++)
{
printf("%d ",a[i]);
}
printf("
");
system("pause");
}

扩展资料
1、C语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。
2、数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量。

import java.util.*;
public class twelfth{
public static void main(String[]args){
int[]arr={1,2,2,3,99,77,100,101,88};
int m=arr.length;
int[]arrs=new int[m+1];
Scanner input=new Scanner(System.in);
System.out.println("输入插入的整数:");
int num=input.nextInt();
for(int i=0;i<arr.length;i++){
arrs<i>=arr<i>;
}
arrs[arrs.length-1]=num;
int temp;
for(int i=0;i<arrs.length-1;i++){
for(int j=0;j<arrs.length-1-i;j++){
if(arrs[j+1]<arrs[j]){//排序
temp=arrs[j];
arrs[j]=arrs[j+1];
arrs[j+1]=temp;
}
}
}
System.out.print("插入新数组为:"+"");
for(int i=0;i<arrs.length;i++){
System.out.print(arrs<i>+"");
}
}
}

扩展资料:system
功能:发出一个DOS命令
用法:int system(char*command);
程序例:
#include<stdlib.h>
#include<stdio.h>
int main(void)
{
printf("About to spawn and run a DOS command
");
system("dir");
return 0;
}
又如:system("pause")可以实现冻结屏幕,便于观察程序的执行结果;system("CLS")可以实现清屏操作。而调用color函数可以改变控制台的前景色和背景,具体参数在下面说明。
例如,用system("color 0A");其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:
0=黑色1=蓝色2=绿色3=湖蓝色4=红色5=紫色6=黄色7=白色8=灰色9=淡蓝色A=淡绿色B=淡浅绿色C=淡红色D=淡紫色E=淡黄色F=亮白色
(注意:Microsoft Visual C++6.0支持system)
颜色属性由两个十六进制数字指定--第一个对应于背景,第二个对应于前景。每个数字
可以为以下任何值:
0=黑色8=灰色
1=蓝色9=淡蓝色
2=绿色A=淡绿色
3=浅绿色B=淡浅绿色
4=红色C=淡红色
5=紫色D=淡紫色
6=黄色E=淡黄色
7=白色F=亮白色
参考资料:
百度百科——system(函数)

给,已经编译运行确认:

#include "stdio.h"
void sort(int *p)
{
int i,j,k;
for (i=0;i<9;i++)
for (j=i+1;j<10;j++)
if (p[i]<p[j])
{
k=p[i];
p[i]=p[j];
p[j]=k;
}
}

void main()
{
int a[11],i,j,x;

printf("请输入10个数: \n");
for (i=0;i<10;i++)
{
printf("第%d个数: ",i+1);
scanf("%d",&a[i]);
}

sort(a);

printf("排序后的数组: \n");
for (i=0;i<10;i++)
printf("%d ",a[i]);

printf("\n请输入要插入的数x: \n");
scanf("%d",&x);

for(i=0;i<10;i++)
{
if(x>a[i])
{
for(j=10;j>i;j--)
{
a[j]=a[j-1];
}

a[i]=x;
break;
}
}

printf("插入后的数组: \n");
for (i=0;i<11;i++)
printf("%d ",a[i]);
}


在键盘上输入10个元素,利用插入法降序排列,现输入一个数x,要求插入到...
printf("请输入10个数: \\n");for (i=0;i<10;i++){ printf("第%d个数: ",i+1);scanf("%d",&a[i]);} sort(a);printf("排序后的数组: \\n");for (i=0;i<10;i++)printf("%d ",a[i]);printf("\\n请输入要插入的数x: \\n");scanf("%d",&x);for(i=0;i<10;i++...

编程实现:使用指针,通过键盘输入给一个具有10个元素的整型数组赋值,然 ...
include <stdio.h> int main(){ int a[10],sum,*p;for(p=a,sum=0;p<a+10;++p){ scanf("%d",p);sum+=*p;} for(p=a;p

C语言:从键盘上输入10个整数,将其保存到数组中,并按升序排列。_百度知 ...
include<stdio.h> int main(){ int i, j;\/\/定义循环变量 int M_num;\/\/定义中间变量 const int N = 10;\/\/定义数组元素个数 int number[N];\/\/定义两个数组 printf("请输入10个数组元素:\\n");\/\/文字提示 for (i = 0; i < N; i++){ scanf("%d", &number[i]);\/\/循环输入数...

编写一个程序,要求从键盘输入10个整数,然后采用冒泡排序法,按降序排序...
首先,创建一个长度为10的整数数组a[]。用户通过键盘输入这10个初始数值。排序过程从第一个元素开始,每次比较相邻的两个数,如果当前的数小于后一个数,就进行交换,因为目标是降序排列。对于每一个位置的数,需要比较的次数是它所在数组位置减1,因为最后一个位置无需再进行比较。当所有元素都经过一...

编写程序,从键盘上输入一个数组的10个元素,输出数组中比平均值大的元 ...
不对。前面对,后面不对。后面只是输出了平均值,而不是比平均值大的数。我大概写一下,你调试:在sum = sum\/10后面:for(int i=0;i<10;i++)if( a[i]>sum)printf("大于平均值的数为:%f",a[i]);

求C++程序:任意从键盘输入10个整数,按从小到大的顺序排序,并输出结果...
为了实现C++程序,可以按照以下步骤来完成一个从键盘输入10个整数并按从小到大排序的功能:首先,创建一个结构体,名为`IntInfo`,包含整数值(数值域)、排名(排名域)和序号(序号域)。接着,定义一个`IntInfo`类型的数组`d`,用于存储输入的10个整数及其相关信息。定义两个自定义函数:`compare...

编写一个程序,要求从键盘输入10个整数,然后采用冒泡排序法,按降序排序...
当需要编写一个程序,从键盘接收10个整数并采用冒泡排序法进行降序排列时,可以参考以下步骤。首先,创建一个长度为10的数组a[],用户依次输入这10个整数。排序过程从数组的第一个元素开始,通过两两比较,如果前一个数小于后一个数,就将它们交换位置。由于是降序排列,所以每次比较都是将较小的数向后...

如何在键盘上输入人民币符号?
方法一:<\/ 轻松快捷,只需同时按下键盘上的shift键和数字键4,神奇的人民币符号就会出现在屏幕上,而不要混淆为美元的标志哦。方法二:<\/ 如果您偏好数字小键盘,可以试试这个:首先按住Alt键,然后迅速输入数字小键盘上的0165,松开Alt键,人民币符号就输入完成。方法三:<\/ 微软拼音输入法用户,...

C++定义一个整形数组,从键盘录入10个元素,然后任意输入一个整数,用顺...
static void Main(string[] args) { int[] numArr = new int[10];\/\/定义数组 Console.WriteLine("请输入10个数:");\/\/C++是printf("请输入10个数:"); for (int i = 0; i < numArr.Length; i++)\/\/numArr.Length这个会获取到数组的长度,此处也可以直接写10 { ...

定义一个包好10个元素的整型数组,通过键盘输入10个数据分别赋给10个...
include<stdio.h> void main() { int a[10],i,max; float av;for ( i=0;i<10;i++ ) scanf("%d",&a[i]);max=av=a[0]; for ( i=1;i<10;i++ ) { av+=a[i]; if ( max

庐阳区13521123292: 从键盘任意输入10个整数,用插入法完成从小到大排序,,,插入法阿,求大神帮忙,谢谢 -
宫玛欧诺: #include <stdio.h> //插入法:在前面的有序序列中寻找相应的位置插入 void InsertSort(int *a,int n) {int i,j;for(i=1;i<n;i++){//从后面无序的往前面有序的插for(j=i-1;j>=0;j--){if(a[i]<a[j]){a[j+1]=a[j];}break; //找到插入位置了}a[j+1]=a[i];}...

庐阳区13521123292: 在键盘上输入10个元素,利用插入法降序排列,现输入一个数x,要求插入到数组中,插入后仍按原规律排列. -
宫玛欧诺: 给,已经编译运行确认: #include "stdio.h" void sort(int *p) { int i,j,k; for (i=0;i<9;i++) for (j=i+1;j<10;j++) if (p[i]<p[j]) { k=p[i]; p[i]=p[j]; p[j]=k; } } void main() { int a[11],i,j,x; printf("请输入10个数: \n"); for (i=0;i<10;i++) { printf("第%d个数: ",...

庐阳区13521123292: 从键盘输入10个整数,用插入法对输入的数据按照从小到大的顺序进行排序 -
宫玛欧诺: INSERTSORT(rectype R[]) { int i,j; for(i=2,i{ R[0]=R[i]; j=i-1; while(R[0].key{R[j+1]=R[j--];} R[j+1]=R[0]; } }

庐阳区13521123292: 从键盘输入10个输,并用插入排序法按从大到小的进行排序,并输出排序结果
宫玛欧诺: 插入排序C语言实现,代码如下: #include <stdio.h> int main() { int a[10]; int i, j, k; for ( i = 0; i < 10; ++i ) { scanf( "%d", &k ); j = i - 1; while( j >= 0 && a[j] > k ) { a[j+1] = a[j]; --j; } a[j+1] = k; } for ( i = 0; i < 10; ++i ) printf( "%d ", a[i] ); }

庐阳区13521123292: c语言10个数小到大插入法排序 -
宫玛欧诺: #include "stdio.h" #include "conio.h" main() { int a[10],r[11]; int *p; int i,j; for(i=0;ir[0]) { r[j+1]=r[j]; j--; } r[j+1]=r[0]; } for(i=1;i

庐阳区13521123292: c语言:从键盘输入10个数,然后,按由大到小的次序将它们显示到屏幕上.用插入排序法 -
宫玛欧诺: 代码如下,有问题可以追问我:==========================================================================#include <stdio.h> main() { int a[10]; int i,j,k; printf("Please enter 10 number : ");for(i=0; i<10; i++) scanf("%d",&a[...

庐阳区13521123292: 采用插入方法输入10个整数按升序排序后输出 -
宫玛欧诺: 过程比较好吧…… procedure sort(m:array of longint; x,y:longint);vari,j:longint;beginfor i:= 1 to x doif m[i]>y then break;if m[i]>y thenbeginfor j:=x+1 downto i dom[j]:=m[j-1];m[i]:=y ;endelse m[x+1] :=y; end;

庐阳区13521123292: 谁能帮我用C语言编写一个程序:从键盘输入十个数,利用插入排序、起泡排序、堆排序、快速排序 -
宫玛欧诺: 堆排序我没有做出来 由于现在考试 时间很紧 我给你其他三个哈 都是以前写的 你自己改哈就是你的了 /* 快速排序思想: 我理解 就是几句话,先取一个关键字,通常取第一个 设置low 和high指针 low指针指向第二个数,high指向最后一个数; 首...

庐阳区13521123292: java 从键盘读入10个数 用插入法排序!代码运行错误!求高手!
宫玛欧诺: 问题出在insertpaixu1()中的for循环,将i<=a.length;改成i<a.length或者i<=a.length-1就可以了

庐阳区13521123292: 主函数输入一个十个元素的整型数组,调用函数实现对该数组元素自小到大的插入法排序.
宫玛欧诺: #include&lt;stdio.h&gt; void sortt(int *x,int N) {int i,j,tmp; for(i=1; i&lt;N; i++) { tmp=x[i]; //让位 for(j=i-1; j&gt;=0 &amp;&amp; x[j]&gt;tmp; j--) // 移位 x[j+1]=x[j]; x[j+1]=tmp; //归位 } for(i=0; i&lt;N; i++) printf("%d ",x[i]); } void main() { int x[10]; int k; for(...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网