vc++编程题

liujunliuying 2011-05-05 10:01:24
各位大侠帮帮忙,在线急等!谢谢!


五、编程题(C++)
1.采用类结构方式与递归方法,实现将十进制整数转换成二进制数(小数部分保留6位)。
2.以下是一个在建立链表时生成有序链表的函数程序,请补充完整,实现有序(升序)功能。
struct Chain
{int num;
struct Chain * next ;
} *p1,*p2*p3;
struct Chain * creat() //建立有序链表函数
{
int temp;
struct Chain *head=NULL;
printf(“请输入链表各结点值(非数字字符表示结束):\n”);
while(scanf(“%d”,&temp))
{
p1=new(struct Chain);
p1->num=temp;
if(head==NULL)
{head=p1; p1->next=NULL;}
else
{ //添加程序代码:







}
}
return head;
}
...全文
151 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
a070104020016 2011-05-09
  • 打赏
  • 举报
回复
谢谢。。
luckydongbb 2011-05-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 liujunliuying 的回复:]

非常感谢您的答案,我在后面贴了一个图片,是我一个同学做的不知道对不对,麻烦您给看一下!谢谢!
[/Quote]

一直没有看到你贴的图在哪里……
liujunliuying 2011-05-05
  • 打赏
  • 举报
回复
非常感谢您的答案,我在后面贴了一个图片,是我一个同学做的不知道对不对,麻烦您给看一下!谢谢!
liujunliuying 2011-05-05
  • 打赏
  • 举报
回复
第一题有答案吗?
luckydongbb 2011-05-05
  • 打赏
  • 举报
回复

struct Chain * creat()
{
int temp;
struct Chain *head = NULL;
printf("请输入链表各结点值(非数字字符表示结束):\n");
while (scanf("%d", &temp))
{
p1 = new struct Chain;
p1->num = temp;
if (head == NULL)
{
head = p1;
p1->next = NULL;
}
else
{
if (temp < head->num)
{
p1->next = head;
head = p1;
}
else
{
p2 = head;
while (p2->next != NULL)
{
if ( temp >= p2->num && temp < p2->next->num)
{
p3 = p2->next;
p2->next = p1;
p1->next = p3;

break;
}
else
{
p2 = p2->next;
}
}
if (p2->next == NULL)
{
p2->next = p1;
p1->next = NULL;
}
}
}
}

return head;
}
  • 打赏
  • 举报
回复
排序无非就是通过遍历查找它应该加入链表的位置 然后移动指针 先将待插入的节点的指针指向该位置后的链表 再将该位置前得节点指针指向插入节点的指针
jxliuyunpeng 2011-05-05
  • 打赏
  • 举报
回复
google

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧