int Max(int a,int b)
{
/********* Begin *********/
//找出两个参数中最大的那个并返回
if(a>b)
return a;
else
return b;
/********* End *********/
}
int Max(int a,int b,int c)
{
/********* Begin *********/
//找出三个参数中最大的那个并返回
if(a>b)
{
if(a>c)
return a;
else
return c;
}
else
{
if(b>c)
return b;
else
return c;
}
/********* End *********/
}
fact.cpp
int Fact(int n)
{
/********* Begin *********/
//使用递归计算 n 的阶乘
if(n>1)
return n*Fact(n-1);
else
return 1;
/********* End *********/
}
/********* Begin *********/
//添加定义
#ifndef FACT_H_
#define FACT_H_
int Fact(int n);
#endif
/********* End *********/
int max(int *b)
{
if(b[0]>b[1])
{
if(b[0]>b[2])
return b[0];
else
return b[2];
}
else if(b[0]<b[1])
{
if(b[1]>b[2])
return b[1];
else
return b[2];
}
}
int MaxEle(int a[3][2],int *r,int *c)
{
/********* Begin *********/
//返回最大元素和它所在的行、列号
int i,j,b[3];
for (i=0;i<3;i++)
{
if(a[i][0]>a[i][1])
b[i]=a[i][0];
else if(a[i][0]<a[i][1])
b[i]=a[i][1];
}
for(i=0;i<3;i++)
for(j=0;j<2;j++)
{
if(a[i][j]==max(b))
{
*r=i+1;
*c=j+1;
}
}
return max(b);
/********* End *********/
}
usr.h
#include <iostream>
using namespace std;
struct Linked
{
/********* Begin *********/
//结构体的成员变量
int sid;
float sco;
Linked *next;
/********* End *********/
};
Linked* Create()
{
/********* Begin *********/
//创建并返回一个新链表
Linked* head=new Linked;
head->next = NULL;
return head;
/********* End *********/
}
void InsertAfter(Linked *node,int num,float sc)
{
/********* Begin *********/
//在指定节点后插入一个新节点,内容由 num,sc 参数指定
Linked* newnode = new Linked;
newnode->sid=num;
newnode->sco=sc;
newnode->next=node->next;
node->next=newnode;
/********* End *********/
}
void DeleteAfter(Linked *node)
{
/********* Begin *********/
//删除此节点之后的一个节点
node->next = node->next->next;
/********* End *********/
}
Linked* GetByIndex(Linked *head,int index)
{
/********* Begin *********/
//返回指定索引处的节点
head=head->next;
if(index==0)
{
return head;
}
else
{
while(index--)
{
head=head->next;
}
return head;
}
/********* End *********/
}
void PrintAll(Linked *head)
{
/********* Begin *********/
//按格式打印此链表中所有节点的成员变量
Linked* p=head->next;
while(p)
{
cout<<p->sid<<" "<<p->sco<<endl;
p=p->next;
}
/********* End *********/
}
run.cpp
#include "usr.h"
int main()
{
int num;
float score;
cin >> num >> score ;
Linked *lk = Create();
InsertAfter(lk,num,score);
cin >> num >> score ;
InsertAfter(GetByIndex(lk,0),num,score);
cin >> num >> score ;
InsertAfter(GetByIndex(lk,1),num,score);
DeleteAfter(GetByIndex(lk,0));
PrintAll(lk);
}