| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2132 人关注过本帖
标题:帮忙编一个有趣的程序02!
取消只看楼主 加入收藏
spring4676
Rank: 1
来 自:内蒙古大草原
等 级:新手上路
帖 子:103
专家分:0
注 册:2007-12-10
结帖率:100%
收藏
 问题点数:0 回复次数:9 
帮忙编一个有趣的程序02!
帮忙编一个有趣的程序!
请高手们按一下原则帮忙编一个程序:
有N个人,分别为:number1,number2,number3,number4.....numberN.
各自有苹果分别为:N1,N2,N3,N4..............................
对他们拥有的苹果进行由多到少排序,输出时按名字输出,
例如:
名字为:张三,李四,王五,老刘:
分别有的苹果数为:3,6,1,9;
按拥有的苹果数多少进行排序应为:老刘,李四,张三,王五
怎样编程序才能按人名输出????
即输出:老刘,李四,张三,王五 而不是输出:9,6,3,1
搜索更多相关主题的帖子: 苹果 李四 张三 
2008-01-03 22:23
spring4676
Rank: 1
来 自:内蒙古大草原
等 级:新手上路
帖 子:103
专家分:0
注 册:2007-12-10
收藏
得分:0 
nuciewth
版主说的好!
我刚学C语言
能把算法说的详细点吗?
2008-01-03 22:44
spring4676
Rank: 1
来 自:内蒙古大草原
等 级:新手上路
帖 子:103
专家分:0
注 册:2007-12-10
收藏
得分:0 
我明白你的意思了!
但是现在人很多,例如:name[4096];分别是:number1,
number2,number3,number4,..........
这时用什么语句对name[4096]赋值比较好?
2008-01-03 22:56
spring4676
Rank: 1
来 自:内蒙古大草原
等 级:新手上路
帖 子:103
专家分:0
注 册:2007-12-10
收藏
得分:0 
那就用文件操作嘛! 什么意思?
2008-01-04 08:43
spring4676
Rank: 1
来 自:内蒙古大草原
等 级:新手上路
帖 子:103
专家分:0
注 册:2007-12-10
收藏
得分:0 
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

struct motif
{
  char name[20];
  int  number;
} lead[4]={"aa",0,"ag",0,"ac",0,"at",0};

void main()
{    
  int i=0,j=0,k=0;
  char lead_name[20];
  for(i=0;i<10;i++)
  {
   scanf("%s",lead_name);
   for(j=0;j<4;j++)
   {
   if(strcmp(lead_name,lead[j].name)==0) lead[j].number++;
   }  
  }    
 for(k=0;k<4;k++)    
 printf("%s:%d\n",lead[k].name,lead[k].number);
}

下一步怎么排序?才能按名字输出
2008-01-04 10:54
spring4676
Rank: 1
来 自:内蒙古大草原
等 级:新手上路
帖 子:103
专家分:0
注 册:2007-12-10
收藏
得分:0 
别怕我烦,我太笨了!
还有另一个问题:
lead[4]={"aa",0,"ag",0,"ac",0,"at",0};
这样赋值太麻烦了!
当lead[4]编程lead[400]时,
怎样从文件导入???
2008-01-04 10:59
spring4676
Rank: 1
来 自:内蒙古大草原
等 级:新手上路
帖 子:103
专家分:0
注 册:2007-12-10
收藏
得分:0 
nuciewth 版主,救救急吧!
nuciewth 版主,救救急吧!
我还是编不好,
2008-01-04 11:19
spring4676
Rank: 1
来 自:内蒙古大草原
等 级:新手上路
帖 子:103
专家分:0
注 册:2007-12-10
收藏
得分:0 
关于文件操作赋值,我已解决
谢谢了!
关于排序按名字输出的问题,还是解决不了?
以下是我便出来的部分程序....
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

struct motif
{
  char name[20];
  int  number;
} lead[4]={"aa",0,"ag",0,"ac",0,"at",0};

void main()
{   
  int i=0,j=0,k=0;
  char lead_name[20];
  for(i=0;i<10;i++)
  {
   scanf("%s",lead_name);
   for(j=0;j<4;j++)
   {
   if(strcmp(lead_name,lead[j].name)==0) lead[j].number++;
   }  
  }   
for(k=0;k<4;k++)   
printf("%s:%d\n",lead[k].name,lead[k].number);
}

下一步怎么排序?才能按名字输出
2008-01-04 11:49
spring4676
Rank: 1
来 自:内蒙古大草原
等 级:新手上路
帖 子:103
专家分:0
注 册:2007-12-10
收藏
得分:0 
请问nuciewth 版主:
if(data[i].num>data[j].num)
{
    info temp;
    temp = data[i];
   data[i] = data[j] ;
   data[j] = temp;
}
您的 “info temp”是什么意思?有错吗?我运行不出来!
还有“temp = data[i]”对temp赋值是data[i]吗? 还是应该data[i].num?
我搞不懂!!!!
2008-01-04 15:45
spring4676
Rank: 1
来 自:内蒙古大草原
等 级:新手上路
帖 子:103
专家分:0
注 册:2007-12-10
收藏
得分:0 
问题解决了!楼主的意思也明白了!
nuciewth 版主的意思我明白了,最终采纳的也是您的意思!
同时我明白的原来info temp也是可以用的
info temp 就是一个名字为temp的结构体,是吧?呵呵呵呵呵!
同时感谢网名为way3 的帮忙,再次深表感谢
谢谢所有帮助我的人!
2008-01-04 17:46
快速回复:帮忙编一个有趣的程序02!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027115 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved