c语言cout输出指定变量,求C语言和C++大神解答,printf怎么转成cout输出语句

c语言cout输出指定变量,求C语言和C++大神解答,printf怎么转成cout输出语句按你要求写了一个 只简单测试过 可能还有很多问题 如果有问题联系我 q 需要的话我可以把代码发给你 贴在这里看实在不方便 include using namespace std int weight 10 15 12 9 7 6 5 4 3 2 1 class athlete 这个类是运动员的信息

大家好,我是讯享网,很高兴认识大家。

按你要求写了一个, 只简单测试过, 可能还有很多问题,如果有问题联系我q. 需要的话我可以把代码发给你,贴在这里看实在不方便

#include

using namespace std;

int weight[10]={15,12,9,7,6,5,4,3,2,1};

class athlete //这个类是运动员的信息

{

public:

int num; //运动员编号

int votenum; //运动员票数

int point; // 得分

}ath[101];

class vote //这个类是选票信息

{

public:

int score[10]; // 10个运动员编号...名字起错了 改成athnum比较好

vote* next;

};

void del_vote(vote* p) // 删除的是p的下一个节点,不是p 注意.

{ // 此函数用在check()函数里.

vote* q;

q=p->next->next;

delete p->next;

p->next=q;

}

void check(vote* pvotelist) // check()函数在这里~

{

vote* p;

for(p=pvotelist;p->next!=null,p!=null;p=p->next) // 检查节点p的下一个节点中选票数据是否有效.

{

for(int i=0;i<10;i++)

{

if(p->next->score[i]<0 || p->next->score[i]>100) {del_vote(p);break;} // 有超出范围者,删除p的下一个节点.

for(int j=i-1;j>=0;j--) // 有与前面数据相同者,删除......

{

if(p->next->score[i]==p->next->score[j])

{

del_vote(p);

break;

}

}

}

}

}

void sort(athlete ath[101]) //运动员排序 找出前10名.

{

int i,j;

athlete temp;

for(i=1;i<=10;i++)

for(j=i+1;j<=100;j++)

{

if(ath[i].point < ath[j].point) //分高在前

{

temp=ath[i];

ath[i]=ath[j];

ath[j]=temp;

}

else if(ath[i].point == ath[j].point)

{

if(ath[i].votenum < ath[i].votenum) //分相等,票多在前

{

temp=ath[i];

ath[i]=ath[j];

ath[j]=temp;


讯享网

}

else if(ath[i].votenum == ath[i].votenum)

{

if(ath[i].num

{

temp=ath[i];

ath[i]=ath[j];

ath[j]=temp;

}

}

}

}

}

void count(vote* pvotelist) // 此时选票全部为合理选票,开始统计

{

for(int i=0;i<101;i++) // 对运动员数组初始化.

{

ath[i].votenum=ath[i].point=0;

ath[i].num=i;

}

vote* p;

for(p=pvotelist->next;p!=null;p=p->next) //对选票进行统计

{

for(int i=0;i<10;i++)

{

if(p->score[i])

{

ath[p->score[i]].votenum++; // 对应运动员票数+1.

ath[p->score[i]].point+=weight[i]; // 分数则为加上该名次所对应的加分.

}

}

}

sort(ath); //运动员得分排序

cout<

for(int i=1;i<=10;i++)

printf("%2d %3d %6d %3d\n",i,ath[i].num,ath[i].point,ath[i].votenum);

system("pause");

}

int main()

{

vote *pvotelist,*p;

pvotelist =new vote; // pvotelist是选票链表的头结点,不存放数据.

p=new vote;

pvotelist->next=p; // 从第二个节点开始存放每张选票.

p->next=null;

int i=0;

cin>>p->score[i]; // 开始读入选票的数据,score等类型的成员意义见上面类定义中.

while(p->score[i]!=-1)

{

i=(i+1)%10;

if(i==0) // 每当一张选票写上10个数据之后,创建一张新选票.

{

p->next=new vote;

p=p->next;

p->next=null;

}

cin>>p->score[i];

}

p->next=null;

check(pvotelist);

count(pvotelist);

}

小讯
上一篇 2025-01-19 08:11
下一篇 2025-01-19 07:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/27584.html