• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

C++实现对输入数字组进行排序

c++ 搞代码 4年前 (2022-01-06) 27次浏览 已收录 0个评论

这里给大家介绍的是通过某个方法实现判断命令行中输入的数字是几个,这样再用冒泡法排序的时候就不用担心输入的是几个数字,用到的知识主要是冒泡法排序

本是一个再简单不了的功能,然后只是冒泡排序。可是我在交互输入数列的时候,只用空格隔开然后回车,如果不限定数的个数,用scanf并不能完成这个任务,他循环获取,到最后不能判断获取结束,而只能继续等待输入。

这个时候我自定义一个函数,获取缓存区中的数(空格分隔),如果输入结束就返回一个特定的值,这个函数是用getchar循环嵌套实现的。本人新手,只能弄出这方法。欢迎各位大神指导。

maopao-complex.c

 //比较复杂的数组接收方法,然后从大到小排序。VC环境 #include  #include  int over=0;//用于读取数,如果读取结束,为1 int main(void) { //这一部分,接收数据,判断数据个数 int getvalue(void); //函数原型。返回从缓冲区取得的数,如果输入结束,返回42949672 int k;     //子循环临时变量 int a[100];   //建立100个数空间,可增缩范围 int num;    //输入的个数 int ifend = 1; //逻辑变量,控制while语句 int i=0;    //通用计次临时变量 int value;   //元素值储存地 printf("请输入任意数的序列,空格隔开:\n"); while (ifend) { value = getvalue(); if(value == 42949672) ifend = 0; else { a[i] = value; i++; } } //结束后,i为数组成员个数 num = i; //开始排序 for (i=0; i <num-1; i++)  //循环8次,第n次把第n位以后的数的最大值放第n个 { for(k=i+1; k<num; k++)  //用k表示后面的各位,递增。 { if (a[i] </div><p>下面是一个简单的冒泡排序:<br /></p><div class="gaodaimacode"><pre class="prettyprint linenums"> #include  using namespace std; void BubbleSort (int* pData,int Count) { int iTemp; for(int i=1; i=1; j--) { if (pData[j]<pData[j-1]) { iTemp=pData[j-1]; pData[j-1]=pData[j]; pData[j]=iTemp; } } } } void main() { int data[]= {10,9,8,7,6,5,4} BubbleSort(data,7); for (int i=0;i<7;i++) cout<<data[i]<<" "; cout<<"\n"; }

以上就是来源gaodaimacom搞#^代%!码&网C++实现对输入数字组进行排序的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:C++实现对输入数字组进行排序
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址