注册 登录
编程论坛 C++教室

关于从小到大输出问题

宇智波曌 发布于 2011-05-29 22:05, 481 次点击
void main()
{
    struct staff sta[10]={
    {"201060001","Zhao"},
    {"201060005","Wang"},
    {"201060002","Qian"},
    {"201060003","Sun"},
    {"201060004","Li"},
    {"201060007","Wu"},
    {"201060006","Zhou"},
    {"201060010","Shen"},
    {"201060008","Zhen"},
    {"201060009","Jiang"}
    };
我要将学号从小到大输出,怎么输出啊?
4 回复
#2
宇智波曌2011-05-30 12:55
结贴吧
#3
lz10919149992011-05-30 12:58
strtol() 用这个函数可以把字符串转换为长整型。
#4
宇智波曌2011-05-30 13:42
回复 3楼 lz1091914999
程序代码:
#include<stdio.h>
#include <string.h>

struct student
{
char num[20];
char name[20];

};
void main()
{
    struct student stu[10]={
    {"201060010","Shen"},
    {"201060002","Qian"},
    {"201060009","Jiang"},
    {"201060003","Sun"},
    {"201060005","Wang"},
    {"201060006","Zhou"},
    {"201060004","Li"},
    {"201060008","Zhen"},
    {"201060007","Wu"},
    {"201060001","Zhao"}
    };
    char a[10][300],temp[300];
    int i,j;
    for(i=0;i<10;i++)
        printf("%s      %s\n",stu[i].num,stu[i].name);
    for(i=0;i<10;i++)
        for(j=i+1;j<10;j++)
        {
            if(strcmp(stu[i].num,stu[j].num)>0)
            {
                strcpy(temp,stu[i].num);
                strcpy(stu[i].num,stu[j].num);
                strcpy(stu[j].num,temp);
            }
         }
   printf("====================================================\n");
     printf("Results:\n\n");
    for(i=0;i<10;i++)
    {
        printf("%s      \n",stu[i].num);
        
    }

}
你知道怎么把对应的姓名输出来吗?知道的话麻烦帮我写一下,先谢啦
#5
linw12252011-05-30 15:08
回复 4楼 宇智波曌
是想比较学号但只输出名字的目的?
1