编程选美

janicen 2004-12-03 01:25:52
编程选美:得分越高名次越低,要按出场顺序输出名次如选手号1、2、3、4、5、6、7.得分依此为5、3、4、7、3、5、6
那么输出的名次为:3、1、2、5、1、3、4
...全文
400 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jordan1982 2004-12-04
  • 打赏
  • 举报
回复
int nTmp[100],nTemp[100];
是声明两个一维数组,每个数组可以存放100个整数
mylady 2004-12-03
  • 打赏
  • 举报
回复
问一个弱智的问题
int nTmp[100],nTemp[100];
什么意思?特别是[]是什么作用!
snow810211 2004-12-03
  • 打赏
  • 举报
回复
#include <iostream.h>
#define N 7
struct People
{
int code;
int score;
int mingci;
};

void main()
{
People p[N];
People temp;
int i,j,k,m;
int start=1;
cout<<"Please input score :\n";
for(i=0;i<N;i++)
{
p[i].code=i+1;
cin>>p[i].score;
}
for(j=1;j<N;j++)
{
for(k=0;k<N-j;k++)
{
if(p[k].score>p[k+1].score)
{
temp=p[k];
p[k]=p[k+1];
p[k+1]=temp;
}
}
}
for(i=0;i<N;i++)
{
p[i].mingci=start;
if(p[i].score==p[i+1].score)
{
continue;
}
start++;
}
for(j=1;j<N;j++)
{
for(k=0;k<N-j;k++)
{
if(p[k].code>p[k+1].code)
{
temp=p[k];
p[k]=p[k+1];
p[k+1]=temp;
}
}
}
for(m=0;m<N;m++)
{
cout<<p[m].code<<"----"<<p[m].score<<"----"<<p[m].mingci<<endl;
}
}

red98 2004-12-03
  • 打赏
  • 举报
回复
int main()
{
int i=0;
int j=0;
int k=0;

int iNum=0;
int iFlag=0;
int iTemp=0;
int iPlace=0;
int a[100];
int b[100];

//输入
printf("please input the nums of the peoples(nums<100):\n");
scanf("%d",&iNum);

for(i=0;i<iNum;i++)
{
printf("please input the Number %d 's score:\n",(i+1));
scanf("%d",&a[i]);
}

//处理
for(i=0;i<iNum;i++)
{
iFlag=0;
for(j=0;j<i;j++)
{
if(b[j]==a[i])
{
iFlag=1;
}
}
if(iFlag==0)
{
b[k++]=a[i];
}
}

for(i=0;i<k;i++)
{
for(i=0;i<k-1;i++)
{
if(b[i]>b[i+1])
{
iTemp=b[i];
b[i]=b[i+1];
b[i+1]=iTemp;
}
}
}

//输出
for(i=0;i<iNum;i++)
{
iPlace=0;
for(j=0;j<k;j++)
{
if(a[i]==b[j])
{
iPlace=j+1;
break;
}
}
printf("the num %d's people get the %d places!\n",i,iPlace);
}
return 0;
}
skfox 2004-12-03
  • 打赏
  • 举报
回复
说错了
有了2个第一名后,就不会有第三名了,有了2个第四名后,就不会有第五名了
skfox 2004-12-03
  • 打赏
  • 举报
回复
void xuanmei(int* nData,int nNum)
{
int nTmp[100],nTemp[100];
int i,j;
for(i=0;i<nNum;i++)
{
cin>>nData[i];
nTmp[i] = 1;
}
for(i=0;i<nNum;i++)
{
for(j=0;j<i;j++)
{
if(nData[i]>nData[j])
nTmp[i]++;
}
for(j=i+1;j<nNum;j++)
{
if(nData[i]>nData[j])
nTmp[i]++;
}
}
for(i=0;i<nNum;i++)
cout<<nTmp[i]<<endl;
}
void main()
{
int nDataqq[7];
xuanmei(nDataqq,7);
}
输入1到7号选手的成绩5、3、4、7、3、5、6
显示1到7号选手的名次4、1、3、7、1、4、6
有了2个第一名后,就不会有第二名了,有了2个第四名后,就不会有第5名了,我认为
janicen 2004-12-03
  • 打赏
  • 举报
回复
怎么还没人给出答案呢。。帮帮忙呀!
dudu妈 2004-12-03
  • 打赏
  • 举报
回复
hah顶!!!!!!
zhouyong0371 2004-12-03
  • 打赏
  • 举报
回复
r
janicen 2004-12-03
  • 打赏
  • 举报
回复
按顺序号输出名次嘛,如果相等就输出同样的名次!!!
xuzheng318 2004-12-03
  • 打赏
  • 举报
回复
楼上的经常在水园!
sayo 2004-12-03
  • 打赏
  • 举报
回复
那么输出的名次为:3、1、2、5、1、3、4
???

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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