有谁能帮我把下面的C语言程序改成c++程序吗?

程序是这样的:#include<stdio.h>structelem{intdata;elem*next;};voidmain(){inttemp;//head指向链表头... 程序是这样的:
#include<stdio.h>
struct elem
{
int data;
elem *next;
};
void main()
{
int temp;
//head指向链表头元素。tail指向链表最后元素,tempP是个临时存放地址
//frontP指向即将删除元素的前一个元素,deleteP指向将要删除的元素
elem * head,*tail,*tempP,*frontP,*deleteP;
head=tail=NULL;
//读取信息
scanf("%d",&temp);
while(-1!=temp)
{
if(head==NULL)
{
tail=head=new elem;
head->data=temp;
head->next=NULL;
}
else
{
tempP=new elem;
tempP->data=temp;
tempP->next=NULL;
tail->next=tempP;
tail=tempP;
}
scanf("%d",&temp);
}
//删除偶数
tempP=head;
while(NULL!=tempP)
{
if(0==tempP->data%2)
{
if(tempP==head)
{
head=tempP->next;
}
else
{
//找到偶数的前一个数,该数的next指向偶数的next;
for(frontP=head;NULL!=frontP;++frontP)
{
if(frontP->next==tempP)
{
frontP->next=tempP->next;
break;
}
}
}
}
deleteP=tempP;
tempP=tempP->next;
if(0==deleteP->data%2)
delete deleteP;
}
//打印数据
tempP=head;
while(NULL!=tempP)
{
printf("%d\n",tempP->data);
deleteP=tempP;
tempP=tempP->next;
delete deleteP;
}
}
展开
 我来答
匿名用户
2016-05-19
展开全部
你这能改也也只有输出的函数可以改了,但是改起来说简单也简单,说难也难.因为太多输出的了,工作量很大.你把#include换成#include没有.h然后在main函数前面加上usingnamespacestd;最后把所有printf改成cout<<,然后再把printf函数的那两个括号删除即可.如果要输出数字,如:printf("%d",12);那么需要把字符串截断,然后用<<连接即可,如:printf("\t\t|您一共玩了%d次|\n",win+lose+he);cout<<"\t\t|您一共玩了"<
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhiyyao
2016-05-19 · TA获得超过1911个赞
知道小有建树答主
回答量:645
采纳率:57%
帮助的人:445万
展开全部
//C++程序:
#include<iostream>
using namespace std;
struct elem

 int data; 
 elem *next;
};
void main()
{
 int temp;//head指向链表头元素。tail指向链表最后元素,tempP是个临时存放地址
 //frontP指向即将删除元素的前一个元素,deleteP指向将要删除的元素
 elem * head,*tail,*tempP,*frontP,*deleteP; head=tail=NULL; //读取信息
 cin >> temp;
 while(-1!=temp) 
 {
  if(head==NULL)
  {  
   tail=head=new elem; 
   head->data=temp; 
   head->next=NULL; 
  } 
  else
  { 
   tempP=new elem; 
   tempP->data=temp;
   tempP->next=NULL;
   tail->next=tempP;
   tail=tempP; 
  } 
  cin >> temp;
 } //删除偶数
 tempP=head;
 while(NULL!=tempP)
 { 
  if(0==tempP->data%2) 
  {  
   if(tempP==head) 
   {  
    head=tempP->next;
   }  
   else 
   {  
    //找到偶数的前一个数,该数的next指向偶数的next;  
    for(frontP=head;NULL!=frontP;++frontP)  
    {  
     if(frontP->next==tempP) 
     {   
      frontP->next=tempP->next; 
      break;   
     }  
    }  
   }  
  } 
  deleteP=tempP; 
  tempP=tempP->next;
  if(0==deleteP->data%2) 
   delete deleteP;
 } //打印数据
 tempP=head;
 while(NULL!=tempP) 
 {  
  cout << tempP->data << endl; 
  deleteP=tempP; 
  tempP=tempP->next; 
  delete deleteP; 
 }
}
更多追问追答
追问
不行啊,我自己也是这样子改的,但是输出会出现停止工作

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式