社区
C++ 语言
帖子详情
一个N简单的问题 请大家帮帮忙
tonghai84
2004-12-22 07:37:23
一个已给出数据2。5。7。8。10
输入一个数[不超过15]。将数字差到比他小的数字后面。
比如出入9:
显示结果为:
2.5.7.8.9.10
如输入6“
结果为
2.5.6.7.8.10
要用函数 最好写出思路。谢谢。
...全文
155
6
打赏
收藏
一个N简单的问题 请大家帮帮忙
一个已给出数据2。5。7。8。10 输入一个数[不超过15]。将数字差到比他小的数字后面。 比如出入9: 显示结果为: 2.5.7.8.9.10 如输入6“ 结果为 2.5.6.7.8.10 要用函数 最好写出思路。谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tonghai84
2005-01-03
打赏
举报
回复
#include "iostream.h"
void Insert(int data[],int n,int m);
void show(int data[],int n);
void main(int argc, char* argv[])
{
int array[6]={2,5,7,8,10},m;
cout<<"Input a number:";
cin>>m;
if(m>10)
array[5]=m;
else
Insert(array,6,m);
show(array,6);
}
void Insert(int data[],int n,int m)
{
int x,y,z,j;
for(x=0;x<n;x++)
{
if(m<data[x])
{
y=data[x];
data[x]=m;
break;
}
}
for(z=x;z<n;z++)
{
j=data[++x];
data[++x]=y;
y=j;
if(x=5)
{
break;
}
}
}
void show(int data[],int n)
{
for(int x=0;x<n;x++)
{
cout<<data[x]<<endl;
}
}
大哥们,可以帮助我把这个程序的报告给写一下吗?小弟感激不尽啊!!!!
welsly
2004-12-22
打赏
举报
回复
为什么不用链表呢?移动数据时很耗时间的哦,一旦数据插入的多了
snow810211
2004-12-22
打赏
举报
回复
#include <stdio.h>
#include <stdlib.h>
void Insert(int data[],int n,int m);
void Show(int data[],int n);
void main()
{
int m;
int array[6]={2,5,7,8,10};
printf("Input a number (<15) :");
scanf("%d",&m);
if(m>15)
{
printf("Input error!\n");
exit(1);
}
printf("\nBefore insert %d :",m);
Show(array,5);
Insert(array,5,m);
printf("\nAfter insert %d :",m);
Show(array,6);
printf("\n");
}
void Show(int data[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%3d",data[i]);
}
printf("\n");
}
void Insert(int data[],int n,int m)
{
int i;
if(m>=data[n-1])
{
data[n]=m;
return;
}
for(i=n-1;i>=0;i--)
{
if(data[i]>m)
{
data[i+1]=data[i];
}
else
{
data[i+1]=m;
return;
}
}
data[0]=m;
return;
}
思路:
1.从后面一个一个的比较(当然数组够大,所以我写的是6,而不是5),先看是不是比最后一个大,如果是就直接加在最后好了...如果不是呢,就把当前元素向后面移动一个..一直比下去..
2.找到了比m小的元素后,把m插入到该元素的后面。。。
3.最后注意没有找到的情况,就把data[0]=m好了。(开始我就没有注意到:))
。。。。。
请参考。。。
dongyuanzhang
2004-12-22
打赏
举报
回复
你之前的数是有序的吗?从小到大循环比较就行了!
riso8371
2004-12-22
打赏
举报
回复
不会吧这种问题也上CSDN
tonghai84
2004-12-22
打赏
举报
回复
帮忙啊。。。
辗转相除求最大公约数,最小公倍数
问题
: 描述 小明被
一个
问题
给难住了,现在需要你
帮帮忙
。
问题
是:给出两个正整数,求出它们的最大公约数和最小公倍数。 输入 第一行输入
一个
整数n(0
n的阶乘 计算机程序设计艺术,急求C语言编辑题:Cnm=n!/m!(n-m)!其中n,m 由键盘输入。要求设计
一个
函数fac(n)求某个正整数n 的阶乘。...
急求C语言编辑题:Cnm=n!/m!(n-m)!其中n,m 由键盘输入。要求设计
一个
函数fac(n)求某个正整数n 的阶乘。来源:互联网宽屏版评论2010-05-29 01:44:10分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题
描述:其中的Cnm意思为,n在下m在上!各位
帮帮忙
啊参考答案://用递归函数处理#include #include #incl...
c语言fac函数求n的阶乘,急求C语言编辑题:Cnm=n!/m!(n-m)!其中n,m 由键盘输入。要求设计
一个
函数fac(n)求某个正整数n 的阶乘。...
急求C语言编辑题:Cnm=n!/m!(n-m)!其中n,m 由键盘输入。要求设计
一个
函数fac(n)求某个正整数n 的阶乘。來源:互聯網2010-05-29 01:44:10評論分類: 電腦/網絡 >> 程序設計 >> 其他編程語言問題描述:其中的Cnm意思为,n在下m在上!各位
帮帮忙
啊參考答案://用递归函数处理#include #include #include...
题目40: 公约数和公倍数
描述 小明被
一个
问题
给难住了,现在需要你
帮帮忙
。
问题
是:给出两个正整数,求出它们的最大公约数和最小公倍数。 输入第一行输入
一个
整数n(0 随后的n行输入两个整数i,j(0 输出输出每组测试数据的最大公约数和最小公倍数 样例输入 3 6 6 12 11 33 22 样例输出 6 6 1 132 11 66 来源 /**************
例题4-6 师兄
帮帮忙
UVa12412
例题4-6 师兄
帮帮忙
UVa12412 感悟。 1、阅读书中题目,从网站下载英文原题,重点在看输出数据与格式。 2、开始编码,先搭函数框架,具体功能实现,待主体框架打好后,再进行。 3、程序测试比较繁琐,有较多的输出输出,有些接近现实的应用程序了。 4、add功能还算顺利,数据采用结构体数组的方式存储。 5、query功能,发现要添加要在结构体中继续添加一些数据,还需在add功能
C++ 语言
65,210
社区成员
250,518
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章