C++程序设计实践指导1.3求任意整数降序数改写要求实现
改写要求1:动态生成单链表存储
#include <cstdlib>
#include <iostream> using namespace std;
struct LinkNode
{
int data;
struct LinkNode *next;
};
class NUM
{
int n;
public:
NUM(int x)
{
n=x;
}
struct LinkNode * descrease();
void show(LinkNode* pHead)
{
LinkNode* p;
p=pHead;
p=p->next;
cout<<"n= "<<n<<endl;
while(p)
{
cout<<p->data;
p=p->next;
}
cout<<endl;
}
}; struct LinkNode * NUM::descrease()
{
LinkNode* pHead=new LinkNode;
pHead->next=NULL;
LinkNode* p;
LinkNode* q;
p=pHead;
int temp;
int x=n;
while(x)
{
LinkNode* newLinkNode=new LinkNode;
newLinkNode->next=NULL;
newLinkNode->data=x%10;
x=x/10;
p->next=newLinkNode;
p=newLinkNode;
}
for(p=pHead;p!=NULL;p=p->next)
for(q=p->next;q!=NULL;q=q->next)
{
if(p->data<q->data)
{
temp=q->data;
q->data=p->data;
p->data=temp;
}
}
return pHead;
} int main(int argc, char *argv[])
{
int n;
LinkNode* pHead;
cout<<"Input n: ";
cin>>n;
NUM num(n);
pHead=num.descrease();
num.show(pHead);
system("PAUSE");
return EXIT_SUCCESS;
}
改写要求2:以最大、最小、次最大、次最小等间隔排序
#include <cstdlib>
#include <iostream> using namespace std;
struct LinkNode
{
int data;
struct LinkNode *next;
};
class NUM
{
int n;
int sum;
public:
NUM(int x)
{
n=x;
}
struct LinkNode * descrease();
void show(LinkNode* pHead)
{
LinkNode* p;
p=pHead;
p=p->next;
cout<<"n= "<<n<<endl;
cout<<"sum= "<<sum<<endl;
while(p)
{
cout<<p->data;
p=p->next;
}
cout<<endl;
}
}; struct LinkNode * NUM::descrease()
{
LinkNode* pHead=new LinkNode;
pHead->next=NULL;
LinkNode* p;
LinkNode* q;
p=pHead;
int temp;
int x=n;
bool flag=true;
sum=;
while(x)
{
LinkNode* newLinkNode=new LinkNode;
newLinkNode->next=NULL;
newLinkNode->data=x%;
sum+=newLinkNode->data;
x=x/;
p->next=newLinkNode;
p=newLinkNode; }
for(p=pHead->next;p!=NULL;p=p->next)
{
if(flag)
{
for(q=p->next;q!=NULL;q=q->next)
{
if(p->data<q->data)
{
temp=q->data;
q->data=p->data;
p->data=temp;
}
} }else{
for(q=p->next;q!=NULL;q=q->next)
{
if(p->data>q->data)
{
temp=q->data;
q->data=p->data;
p->data=temp;
}
} }
flag=!flag;
}
return pHead;
} int main(int argc, char *argv[])
{
int n;
LinkNode* pHead;
cout<<"Input n: ";
cin>>n;
NUM num(n);
pHead=num.descrease();
num.show(pHead);
system("PAUSE");
return EXIT_SUCCESS;
}
C++程序设计实践指导1.3求任意整数降序数改写要求实现的更多相关文章
- C++程序设计实践指导1.5求两个整数集合并集改写要求实现
改写要求1:改写为单链表结构可以对任意长度整数集合求并集 #include <cstdlib> #include <iostream> using namespace std; ...
- C++程序设计实践指导1.8求指定范围内的所有素数改写要求实现
改写要求1:以指针为数据结构动态开辟存储空间 #include <cstdlib> #include <iostream> using namespace std; class ...
- C++程序设计实践指导1.15找出回文数改写要求实现
改写要求1:用单链表实现 #include <cstdlib> #include <iostream> using namespace std; struct LinkNode ...
- C++程序设计实践指导1.10二维数组元素换位改写要求实现
改写要求1:改写为以单链表和双向链表存储二维数组 改写要求2:添加函数SingleLinkProcess()实现互换单链表中最大结点和头结点位置,最小结点和尾结点位置 改写要求3:添加函数Double ...
- C++程序设计实践指导1.12数组中数据线性变换改写要求实现
改写要求1:分别用指针pa.pb代替数组 改写要求2:从键盘输入data元素 元素个数任意,输入0结束 #include <cstdlib> #include <iostream&g ...
- C++程序设计实践指导1.14字符串交叉插入改写要求实现
改写要求:1:以指针为数据结构开辟存储空间 改写要求2:被插入字符串和插入字符串不等长,设计程序间隔插入 如被插入字符串长度为12,待插入字符串长度为5 则插入间隔为2 改写要求3:添加函数Inser ...
- C++程序设计实践指导1.13自然数集中找合数改写要求实现
改写要求1:用单链表实现 改写要求2:析构函数中依次将链表结点删除 #include <cstdlib> #include <iostream> using namespace ...
- C++程序设计实践指导1.1删除序列中相同的数改写要求实现
改写要求1:改写为以指针为数据结构 #include <iostream> #include <cstdlib> using namespace std; class ARP ...
- C++程序设计实践指导1.7超长数列中n个数排序改写要求实现
改写要求1:将以上程序改写为适合超长整数 改写要求2:将以上程序改写为适合超长数列 改写要求3:将数列中指定位置m开始的n个结点重新按降序排序 改写要求4:输出指定位置m开始的n个结点的超长整数 #i ...
随机推荐
- 0122——UITabBarController
UITabBarController是IOS中很常用的一个viewController.UITabBarController通常作为整个程序的rootViewController,而且不能添加到别的c ...
- java中的native关键字
参照下面的链接http://blog.163.com/yueyemaitian@126/blog/static/21475796200701491621267/
- 我的开源框架之Accordion控件
需求: (1)实现手风琴面板控件,支持静态HTML与JSON方式创建控件 (2)支持远程加载数据 (3)支持面板激活.远程加载事件注册 (4)支持动态添加.删除项目 实现图例 客户代码 <div ...
- HDU 题目分类收集
并查集题型简单并查集1213 How Many Tables 1232 畅通工程 (杭电简单的并查集不是很多) 简单最小生成树1233 还是畅通工程 1863 畅通工程 1874 畅通工程再续 187 ...
- 无法添加sql server ER图
Database diagram support objects cannot be installed because this database does not have a valid own ...
- Asp.Net MVC+EF+三层架构的完整搭建过程
架构图: 使用的数据库: 一张公司的员工信息表,测试数据 解决方案项目设计: 1.新建一个空白解决方案名称为Company 2.在该解决方案下,新建解决方案文件夹(UI,BLL,DAL,Model) ...
- js 属性类型
1.访问器属性 var book = { _year: 2004, edition: 1 }; Object.defineProperty(book, "year", { get: ...
- windows 7 系统进程服务详解
windows 7已经发布有段时间了,相信很多网友都已经换上了传说中非常完美的win7系统.win7不仅继承而且还超越了vista的美观界面,性能优化方面也下足了功力.还拥有强大的win xp兼容性, ...
- [ ArcGIS Server技术版]如何得到本机上的所有的REST服务?
http://server.arcgisonline.com/ArcGIS/rest/services?f=json得到的字符串 {"currentVersion":10.01,& ...
- mysql 只给更新表的某个字段的授权
mysql> create view v_Procuct as select sn,name from Product; Query OK, 0 rows affected (0.01 sec) ...