在一个已排序的数组中插入数据(c语言)
2016-06-07 15:41
381 查看
在一个已排序(从小到大)的数组中查找待插入数据x应该插入的位置,使其插入后,数组元素仍保持从小到大的顺序
我出现的错误,就是函数声明时,前面忘了加void,还有就是malloc分配内存时
最前面强制类型转换Int写成了int *;
#include <stdio.h> #include <stdlib.h> void Insert(int a[],int n,int x); main() { int *a,x,i,n,m; printf("Please enter array numbers: "); scanf("%d",&n); a = (int)malloc(sizeof(int)*n); printf("Please input %d numbers:",n); for (i=0;i<n;i++) { scanf("%d",&m); a[i]=m; } printf("Please enter x:"); scanf("%d",&x); Insert(a,n,x); printf("After insert %d:\n",&x); for (i =0;i<n+1;i++) { printf("%-4d",a[i]); } printf("\n"); } void Insert(int a[],int n,int x) { int i,pos; for (i=0;(i <n)&&(x>a[i]);i++) { } pos = i; for (i = n-1;i>=pos;i--) { a[i+1] = a[i]; } a[pos] = x; }
我出现的错误,就是函数声明时,前面忘了加void,还有就是malloc分配内存时
a = (int)malloc(sizeof(int)*n);
最前面强制类型转换Int写成了int *;
相关文章推荐
- 第14周项目2--两个成员的类模板(1)
- 贝叶斯分类c++实现
- 《21天学通C++》_5 2016.5.25
- C++实现插入排序
- 第十五周项目 阅读程序(6)
- 运算符的重载(复数的加减)
- 《C++ 笔记》 Part4 error C4996"fopen"的错误处理
- 两数互换(c语言编程能实现)
- 第十五周项目 阅读程序 (5)
- Valid Anagram
- 第十五周项目 补充阅读程序(4)
- 华为OJ——删除字符串中出现次数最少的字符
- 华为OJ——汽水瓶
- C++编程开发学习的50条建议
- 华为OJ——简单密码
- [C++STL]算法<algorithm>中各种算法解析
- 华为OJ——密码验证合格程序
- 华为OJ——简单错误记录
- 华为OJ——坐标移动
- 二进制 位运算