| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2132 人关注过本帖
标题:帮忙编一个有趣的程序02!
只看楼主 加入收藏
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
你能编出来
这就证明你并不苯
相信你一定能做好的
2008-01-04 11:17
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
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
fscanf();
文件操作没学过吗?

倚天照海花无数,流水高山心自知。
2008-01-04 12:03
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
对他们拥有的苹果进行由多到少排序,输出时按名字输出
排序是num.
if(data[i].num>data[j].num)
{
    info temp;
    temp = data[i];
   data[i] = data[j] ;
   data[j] = temp;
}
....

for(....)
{
    printf("%s\n",data[i].name);
}

倚天照海花无数,流水高山心自知。
2008-01-04 12:07
way3
Rank: 1
来 自:湖南
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-12-8
收藏
得分:0 
请看看我写的
#include "stdio.h"
#include "string.h"
#define N 5
struct student{
 char name[15];
 int num;
}stu[N];
main()
{ int i,j,min;
char stuname[15];

for(i=0;i<N;i++)
{
 printf("please input the name the %d person",i+1);
scanf("%s",stu[i].name);
scanf("%d",&stu[i].num);
}
for(i=0;i<N;i++)

{
  min=stu[i].num;
  strcpy(stuname,stu[i].name);
for(j=i;j<N;j++)
{
 if(stu[i].num>stu[j].num)
 {
 stu[i].num=stu[j].num;
stu[j].num=min;
 strcpy(stu[i].name,stu[j].name);
 strcpy(stu[j].name,stuname);
 }
}
}
for(i=0;i<N;i++)
printf("%s\t%d\n",stu[i].name,stu[i].num);

}
这是我刚才写的,初学者,见笑了.
不过我还是满足了条件.
排序的方法我选择的是直接选择排序.
2008-01-04 12:26
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
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
我定义的一个结构体info。
做比较时只比较num,但做交换时就要做整体info

倚天照海花无数,流水高山心自知。
2008-01-04 16:06
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
程序代码:
#include<stdio.h>

typedef struct info{
    char name[20] ;
    int num ;
    } ;

void simpleSort(info *data,int n)
{
    int  i  , j  ;

    for( i = 0 ; i < n ; i++ )
    {
        for( j = i+1 ; j < n ; j++ )
        {
            if( data[i].num < data[j].num)
            {
                info temp = data[i];
                data[i] = data[j];
                data[j] = temp;
            }
        }
    }
}

void print(info *data,int n)
{
    for( int  i  = 0 ; i < n ; i++ )
    {
        printf("%s\n",data[i].name);
    }
}
int main()
{
    int n;
    info data[100];
    FILE *fp;
    
    fp=fopen("Apple.txt","r");
    fscanf(fp,"%d",&n);
    for( int i = 0 ; i < n ;i++ )
    {
        fscanf(fp,"%s%d",data[i].name,&data[i].num);
    }
    fclose(fp);
    simpleSort(data,n) ;
    print(data,n);
    return 0 ;
}
]

倚天照海花无数,流水高山心自知。
2008-01-04 16:23
混世小魔王
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-1-4
收藏
得分:0 
其实,C语言SHI 很EASY。。。。
C语言,,很简单的,,就这位大虾的题目,,就是一维数组。的问题。。。。。。。。。
2008-01-04 17:01
快速回复:帮忙编一个有趣的程序02!
数据加载中...
 
   



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

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