急需将下面这一篇C++程序改成c语言程序。大师们帮帮忙,必有丰厚的金币相送(程序有点长,抱歉啦)。

#include <iostream>
#include <string>
using namespace std;
struct student
{int ID;long number;string name;float score; student *next;};
student *head;
student *Create()
{student *p1;student *p2;
p1=new student;
cin>>p1->number>>p1->name>>p1->score;
head=NULL;p2=p1;
while(p1->number!=0)
{if(head==NULL)
head=p1;
else
p2->next=p1;p2=p1;p1=new student;
cin>>p1->number>>p1->name>>p1->score;}
p2->next=NULL;delete p1;
return(head);}
int Length(student *head)
{int length=0;
while(head)
{length++;head=head->next;}
return length;}
void Insert(student *&head,student *stu) //插入操作
{if(head==NULL)
{head=stu;stu->next=NULL;cout<<endl<<"插入成功";
return ;}
if(head->number>stu->number)
{stu->next=head;head=stu;cout<<endl<<"插入成功";
return ;}
student *p=head;
while(p->next&&p->next->number<stu->number)p=p->next;
stu->next=p->next;p->next=stu;cout<<endl<<"插入成功";}
void Delete(student* &head,long number)//删除操作
{student *p1;if(!head)
{cout<<"空表,不能进行删除操作。"<<endl;
return ;}
if(head->number==number)
{p1=head;head=p1->next;delete p1;cout<<number<<" 号学生信息已经被删除。";
return ;}
for(student *p2=head;p2->next;p2=p2->next)
{if(p2->next->number==number)
{p1=p2->next;p2->next=p1->next;delete p1;cout<<number<<" 号学生信息已经被删除。"<<endl;
return ;}}
cout<<number<<" 不能找到。\n";
return ;}
好吧,图上有,谢。

第1个回答  2012-12-16
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
struct student
{int ID;long number;char name[100];float score; student *next;};
student *head;
student *Create()
{student *p1;student *p2;
p1=(struct student*)malloc(sizeof(student));;

scanf("%d %s %f ",&p1->number,&p1->name,&p1->score);
head=NULL;p2=p1;
while(p1->number!=0)
{if(head==NULL)
head=p1;
else
p2->next=p1;p2=p1;p1=(struct student*)malloc(sizeof(student));
scanf("%d %s %f ",&p1->number,&p1->name,&p1->score);
}
p2->next=NULL;free(p1);
return(head);}
int Length(student *head)
{int length=0;
while(head)
{length++;head=head->next;}
return length;}
void Insert(student *&head,student *stu) //插入操作
{if(head==NULL)
{head=stu;stu->next=NULL;
puts("");
puts("插入成功");
return ;}
if(head->number>stu->number)
{stu->next=head;head=stu;
puts("");
puts("插入成功");
return ;}
student *p=head;
while(p->next&&p->next->number<stu->number)p=p->next;
stu->next=p->next;p->next=stu;
puts("");
puts("插入成功");
}
void Delete(student* &head,long number)//删除操作
{student *p1;if(!head)
{
puts("空表,不能进行删除操作。");
return ;}
if(head->number==number)
{p1=head;head=p1->next;free(p1);

printf("%d 号学生信息已经被删除。\n",number);
return ;}
for(student *p2=head;p2->next;p2=p2->next)
{if(p2->next->number==number)
{p1=p2->next;p2->next=p1->next;free(p1);printf("%d 号学生信息已经被删除。\n",number);
return ;}}
printf("%d 不能找到。\n",number);
return ;}

已改好,编译成功,满意请采纳,有问题请追问,谢谢!追问

这个只是2/3的程序,那个,首先谢谢啦,我还有1/3的内容因为文字限制没发上来,我QQ是540885476,你能帮我再翻译一下么?

第2个回答  2012-12-16
你只需要把 new 换成malloc 把 cout 换成printf 把cin换成scanf 把 delete 换成free 就可以了。这个程序改成C语言后语法基本上没有太大的区别,无非就是关键字不一样了本回答被提问者采纳

急需将下面这一篇C++程序改成c语言程序。大师们帮帮忙,必有丰厚的金...
include <string.h> include <stdio.h> include <stdlib.h> struct student {int ID;long number;char name[100];float score; student *next;};student *head;student *Create(){student *p1;student *p2;p1=(struct student*)malloc(sizeof(student));;scanf("%d %s %f ",&p1->number,&...

有关打星的c语言程序题,请帮帮忙,急需
include "time.h"int main(){ int i, j;\/\/★ for (i=1;i<=4;i++){ \/\/★ for (_j=2;j<2*i;j++___)printf(" ");\/\/★ for (___k=0;k<10;k++__)printf("*");printf("\\n");} return 0;} 自己写的求采纳,求经验,求悬赏 ...

我需要 C语言程序设计? 问题解答和实例解析方法,帮一下!急需书籍!有人...
提取码:1234 C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

急需 用C语言或C++编写的相亲数程序设计 要求为完整的程序(一个系统...
printf("%ld和%ld是一对相亲数\\n",a,sum1);num[cnt]=sum1; \/\/将第二个相亲数存入数组,防止重复输出 cnt++;} } system("PAUSE");return 0;}

跪求高清 C程序设计语言,帮一下!急需教材!求!
https:\/\/pan.baidu.com\/s\/1kKTMD41eA0Visc3Z7T-pdQ 提取码:1234 《C程序设计语言》是由C语言的设计者Dennis M. Ritchie和著名计算机科学家Brian W. Kernighan编写的一部介绍标准C语言及其程序设计方法的权威性经典著作。全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念、...

急需单片机89c52与pc串口通信的C语言程序代码(将所连电路的两个值送到...
void UART_SER (void) interrupt 4 \/\/串行中断服务程序 { unsigned char Temp; \/\/定义临时变量 if(RI) \/\/判断是接收中断产生 { RI=0; \/\/标志位清零 Temp=SBUF; \/\/读入缓冲区的值 P1=Temp; \/\/把值输出到P1口,用于观察 SBUF=Temp; \/\/把接收到的值再发回电脑端 } if...

C语言程序设计 链表的综合操作(急)
《高级程序设计语言》(用WIN-TC软件)课程设计一、课程设计的问题描述用C语言编写一个程序,通过链表的建立、输出、删除、插入等基本操作,实现学生成绩管理,从键盘输入学生信息,学生信息用结构体表示,包括学号、姓名、三门课成绩:语文、数学、英语。二、课程设计目标和要求必做:1. 插入功能:在学生链表中插入一个学生...

c语言程序设计,大学生作业,急需,老师这周四就要,高手们帮帮忙啊!
3开发语言环境:Macrosoft VC++6.0或Turbo C2.0 4数据结构:数组或链表 5程序源代码要求:函数名、变量名采用英文缩写,使用匈牙利命名法进行自说明。源代码的书写采用递进格式。程序行和程序段须有注释。include "stdio.h" \/*I\/O函数*\/ include "stdlib.h" \/*其它说明*\/ include "string.h" \/...

谁可以帮我做一下这个C++C语言的作业
c++语言的每个表达式的结束都需要加上分号;故第6.9行错误,正确如下;6 k=1 ;9 for(i=m;i!=n;i+=k)2、程序功能为:判断从键盘上输入的一个字符,并按下列要求输出。若该字符是数字 输出 字符串"0-9";若该字符是大写字母 输出字符串"A-Z";若该字符是小写字母 输出字符串"a -z";若...

谁能帮我搞到 《C\/C++程序设计》课本课后题详细答案(中国矿业大学出版社...
c++语言基础教程 (吕凤葛 著) 清华大学出版社 答案\\r\\n http:\/\/www.camlifes.com\/forum.php?mod=viewthread&tid=184&fromuid=13\\r\\n C++语言程序设计(第三版)郑莉 著 清华大学出版社\\r\\n http:\/\/www.camlifes.com\/forum.php?mod=viewthread&tid=118&fromuid=13\\r\\n ...

相似回答
大家正在搜