任意输入一个整数,将其有序地插入到数组中。请使用指针法编程实现。

作者&投稿:邬奔 (若有异议请与网页底部的电邮联系)
1.编程实现:将一个任意整数插入到一个已排序的整数数组中,插入后数组中的数仍然保持有序。用C++编写的~

main( )
{
int i,j,number;
int a[11]={1,4,6,9,13,16,19,28,40,100};
/*数组初始化时预留一位置*/
printf("array a:
");
for(i=0;i<10;i++) /* 输出数组原有元素 */
printf("%d ",a[i]);
printf("
");
printf("Insert data:");
scanf("%d",&number); /* 读入要插入的数据 */
i=0; /* 以下三行找到插入位置i */
while (a[i]<number&&i<10)
i++;
for(j=9;j>=i;j--) /* 将插入点以后的元素顺序后移一位 */
a[j+1]=a[j];
a[i]=number; /* 插入数据 */
printf("Now,array a:
");
for(i=0;i<11;i++) /* 输出插入后仍有序的数组 */
printf("%d ",a[i]);
}
运行情况如下:
array a:
1 4 6 9 13 16 19 28 40 100
Insert data:5↙
Now,array a:
1 4 5 6 9 13 16 19 28 40 100

已调试,有问题追问
void main()
{ int a[100];
int b[101];
int i,n,x;
cout<<"请输入所有数据的个数"<<endl;
cin>>n;
cout<<"请输入这些升序数字"<<endl;
for( i=0;i<n;i++)
{cin>>a[i];}
cout<<"请输入插入的数"<<endl;
cin>>x;
int y;
for( i=0;i<n;i++ )
{ if(x<=a[i])
break;
b[i]=a[i];
}
//i--;
b[i]=x;
for(i=i;i<n+1;i++)
{ b[i+1]=a[i]; }

for(i=0;i<n+1;i++)
{cout<<b[i]<<" ";}
}

运行过了,可以运行。
输入三个参数:待插入的有序数组、数组长度、待插入的整数。
#include<stdio.h>

void insert(int *, int, int);

int main()
{
int a[10]={3,5,7,9,11,13,15,17,19};
insert(a, 10, 10);
int i=0;
for(i=0;i<10;i++)
printf("%d ", a[i]);
}

void insert(int *a, int size, int num){
int *p;
for(p=a+size-2;p>=a;p--){
if(*p>=num)
*(p+1) = *p;
else{
*(p+1) = num;
break;
}
}
}


输入一个整数,将该整数逆序输出。n=n*10+num%10;什么意思呀?
n*10实现移位,num%10则取出当前十进制位数的值。举个例子,num=1234,第一步 n=0+1234%10=0+4=4,1234\/10=123;第二步 n*10=40,实现将4移到十位上,num%10=123%10=3,取出原数的十位数;n=n*10+num%3=43,num\/10=123\/10=12 第三步 n*10=430,将4和3左移一位,num%10=12%...

C语言问题!!输入一个整数,将它逆序输出。。例如reverse(123)的返回...
1、C 表示将输入的整数n传给reverse函数 2、C 表示定义一个long型变量res,并初始化 3、B 表示主函数(main)穿进来的值,如果为负数,则取反 4、B 倒置传入的参数number,res*10表示将原来res乘以10,再加上number%10;比喻说你传的是123,而res的初始值是0,123%10=3,那么res=...

c语言中,输入一个整数要求将其转化为字符串。什么意思呢??
putchar(n%10+'0'),n%10是一个整数。但是一个整数加上一个'0'这样的0字符,那么这个整数就编程一个字符了!比如:1+'0'='1'。就是这样的 答案你看着表面是一样的。但是实质完全不一样了,转换之后输出的已经是字符串了。然而现实出来看上去是一样,实际上他不是整数而是字符串。字符串里面...

pascal输入一个整数N(1<=N<=10000000),把它的各位数字倒序输出。N末 ...
输入一个正整数n,可以假设n在int范围内 输出将n按其逆序输出,每个数字后有一个空格,输出占一行。\/ include<stdio.h> int main(){int i;int n;scanf("%d",&n);int num = 0;for(i = 0; ; i ++){num = n % 10;n \/= 10;printf("%d\\n",num);if( n < 1)break;]return 0...

c语言输入一个整数把第4位bit输出
include <stdio.h>int main(void) {int n;scanf("%d", &n);printf("%d\\n", (n>>3) & 1); \/\/右移3位,再与1进行&运算。return 0;}

如何用c语言实现输入一个整数然后输出?
1、首先打开DEV C++软件,点击“新建源代码”,在编辑页面输入以下代码。2、因为题目要求我们先输入一个整数,所以在定义变量时,就应该将其定义为整数型,注意,在输入,输出函数中,整数型对应的是“%d”。3、接下来就要对输入的整数进行判断,在C语言中,if是判断语句,所以用它来对整数进行判断。if...

c语言中,scanf(“%d”,&n)是什么意思?scanf和&n都不知道是啥...求指 ...
输入整数,并将这个整数存在变量n中。scanf()是C语言中的一个输入函数。与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include <stdio.h>。&n取变量的地址:&变量名,这将获得该变量的地址。

输入一个整数,输出对应的职业?
例如,您可以创建一个数组或字典,将整数与特定职业关联起来。例如,1可能表示“医生”,2可能表示“工程师”,3可能表示“教师”等等。通过这种方式,输入整数后,您可以返回相应的职业。如果您正在使用编程语言,如Python或Java,则可以使用条件表达式或switch语句来对整数进行测试,并根据其值返回不同的...

请问用python制作一个程序,使得你输入某一个数字a,便产生一个a行a列的...
代码中,首先使用input函数让用户输入一个整数,并将其转换为整型后赋值给变量a。然后使用print函数输出a+1的结果。先从键盘输入5,就是给变量a赋值5,再输入6,就是给变量b赋值6。判断a是否大于b,如果成立,输出a,不成立输出b。不能使用保留字(已被Python语言系统本身赋予特定意义的单词)。Python...

编程实现:从键盘任意输入一个三位正整数,将该数分解成个位、十位、百 ...
int main(){ int n,k=0;int a[11]={0};scanf("%d",&n);while(n){ a[k++]=n%10;\/\/提取各个位上的数,储存在数组a中 n\/=10;} for(int i=0;i<k;i++)\/\/冒泡排序 for(int j=0;j<k-i-1;j++)if(a[j]>a[j+1]){ int t;t=a[j];a[j]=a[j+1];a[j+1]=...

桦川县15764402277: 从键盘输入一个数,将其插入到有序的数列中去,插入后的数列仍然保持以前的顺序. -
须蓓桂林:[答案] 给你举个例子吧! #include #define N 5 main() { int num[N+1]={1002,1003,1006,1008,1010}; /*必须多开辟一个存储单元*/ int i=0,j=0,new=0; printf("Original number:\n"); for(i=0;i

桦川县15764402277: 任意输入一个整数,将其有序地插入到数组中.请使用指针法编程实现. -
须蓓桂林: 运行过了,可以运行.输入三个参数:待插入的有序数组、数组长度、待插入的整数.#include<stdio.h> void insert(int *, int, int); int main() { int a[10]={3,5,7,9,11,13,15,17,19};insert(a, 10, 10);int i=0; for(i=0;i<10;i++) printf("%d ", a[i]); } void ...

桦川县15764402277: C语言如何把一个整数按大小顺序插入已排好序的数组中? -
须蓓桂林: #include <stdio.h> void main() { int i,j,p,q,s,n,a[11]={127,3,6,28,54,68,87,105,162,18};//这个不用说了吧 for (i=0;i<10;i++)//十次循环 { p=i;//到此p等于i等于0 q=a[i];//到此q等于a[0]=127 for (j=i+1;j<10;j++)//九次循环 if(q<a[j])//将q也就是a[i]和他...

桦川县15764402277: 已知有一个已经从小到大排好顺序的整数数列,若从键盘任意输入一个整数,编写程序将其插入到数列的适当位 -
须蓓桂林: 这个很简单:#include <stdio.h>// 输入 void input(int a[], int len) { int i = 0; while (i < len) { scanf("%d", &a[i++]); } }// 输出 void output(int a[], int len) { printf("[ "); int i = 0; while (i < len) printf("%3d ", a[i++]); printf("]\n"); }// 排序 void reorder(...

桦川县15764402277: 任意输入一个整数,定义函数,将其按原来排序的规律将它插入已排好序的数组中. -
须蓓桂林: #include void myout(int *p,int n){int i;for(i=0;i<n;i++)printf("%4d",*(p+i));printf("\n...

桦川县15764402277: 从键盘输入一个数,将其插入到有序的数列中去,插入后的数列仍然保持以前的顺序. -
须蓓桂林: 给你举个例子吧!#include<stdio.h>#define N 5 main() { int num[N+1]={1002,1003,1006,1008,1010}; /*必须多开辟一个存储单元*/ int i=0,j=0,new=0; printf("Original number:\n"); for(i=0;i<N;i++) /*输出最初的学号*/ printf("%6d",num[i]); printf...

桦川县15764402277: c语言程序设计 编程实现由键盘输入一个数插入到有序数组中. -
须蓓桂林: #include<stdio.h> main () { int i,j,k; int n[8]={1,2,5,8,9,13,22}; printf("请输入需要插入的整数:\n"); scanf("%d",&k); if(k>n[6]) n[7]=k; else { for(i=0;n[i]<=k;i++); for(j=7-1;j>=i;j--) n[j+1]=n[j]; n[i]=k;} for(i=0;i<=7;i++) printf("%6d",n[i]); }

桦川县15764402277: ((1) 请编写一个函数,从键盘上输入一个数,将该数插入到一个有序的数组中,该数组仍然有序. -
须蓓桂林: --方法一.不支持初始化数组,但可以插入有顺序 package order; import java.util.Arrays; import java.util.Scanner; public class OrderArray { private int[] arr; private int size = 0 ; private final int LENG = 10; public OrderArray(int length) { arr = new int[...

桦川县15764402277: 编程实现将任意一个整数x插入到一个有序的数组a中,假设数组a升序排列 -
须蓓桂林: main( ) { int i,j,number;int a[11]={1,4,6,9,13,16,19,28,40,100};/*数组初始化时预留一位置*/ printf("array a:\n");for(i=0;i<10;i++) /* 输出数组原有元素 */ printf("%d ",a[i]);printf("\n");printf("Insert data:");scanf("%d",&number); /* 读入要...

桦川县15764402277: c语言编程:将一个任意整数插入到已排列的整型数组中,插入后,数组中的数仍保持有序 -
须蓓桂林: #include <stdio.h> void arr(int *a,int n);/*定义排序函数*/ void insert(int *a,int num);/*插入并排序函数*/ int n=10;/*定义数据个数,可修改*/ void main() { int *a,num,j,k,b[10]={2,5,14,26,34,56,58,79,83,98}; a=&b[0];/*初始化*/ printf("排序好的...

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