急!!!求一位会c语言的大神帮帮忙~~这个程序怎么编写啊?

已知一有序序列1,3,4,8,15,17,要求从键盘输入一个整数,将此整数插入到此有序序列中。要求输出原始数组和插入之后的数组。要求编制函数insert(int*p,in... 已知一有序序列1,3,4,8,15,17,要求从键盘输入一个整数,将此整数插入到此有序序列中。要求输出原始数组和插入之后的数组。要求编制函数insert(int *p,int d)实现此功能,在主函数调用此函数。
提示:例如输入整数位7,首先要找到7在整个序列中的位置,然后将7插入到当前位置。
展开
 我来答
jsfjsf25210
2015-07-06 · TA获得超过123个赞
知道小有建树答主
回答量:161
采纳率:0%
帮助的人:138万
展开全部
#include <stdio.h>

void insert(int *p, int d) {
int i = 0, temp, len = 7;

while (p[i] < d && i < 6)
++i;
if (i == 6) 
p[i] = d;
for ( ; i < len; ++i) {
temp = p[i];
p[i] = d;
d = temp;
}
}


int main(void) {
int num[7] = {1,3,4,8,15,17};
int *p = num;
int data, i;

printf("输入一个整数:");
scanf("%d", &data);
for (i = 0; i < 6; ++i) 
printf("%2d ", num[i]);
printf("\n");
insert(p, data);
for (i = 0; i < 7; ++i)
printf("%2d ", num[i]);
printf("\nOVER\n");

return 0;
}
更多追问追答
追问
大神谢谢啦~~~太棒了~~不过我想问下哈,for循环为什么都用++i而不是i++呢?
追答
对于内置类型来说是没什么差别的,在效率上说。这个可以自己看汇编代码。也就是上面我这么些纯属习惯。
对于自定义类型来说,前缀式可以返回类型的引用,而后缀式只能返回值,所以对于一些自定义比较大,复杂的类型来说,需要创建一次变量,然后才能赋值,而前缀式能够直接++,不知道你明白了吗?
心里狮
2015-07-06 · 超过24用户采纳过TA的回答
知道答主
回答量:120
采纳率:0%
帮助的人:34.8万
展开全部
#include "stdio.h"
int charcount(char *s,char letter){
int i,sum;
for(sum=i=0;s[i];i++)
if(s[i]==letter)
sum++;
return sum;
}
int main(void){
char str[1000],ch;
printf("Input a string & a letter...\n");
scanf("%s %c",str,&ch);
printf("There is(are) %d \'%c\' in the string.\n",charcount(str,ch),ch);
return 0;
}
追问
不好意思运行不出来呢~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式