吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 963|回复: 2
收起左侧

[求助] C语言求助求助!

[复制链接]
MaKa_Maka 发表于 2019-12-26 22:17
本帖最后由 MaKa_Maka 于 2019-12-26 22:37 编辑



代码不是完整代码,就是让我们填的,但是我们都不知道怎么填!还请老哥帮忙按照上边要求帮做一下。

求助,老师出的题难住了我们整整一个班......来个老哥帮忙写一下,感谢!明天考试,可能会有这道题!
求解!  求解! 求解!



小明要制作班里的通讯录,要求参照手机通讯录。按A~Z排序(10分)
#include "stdio.h"
#include "string.h"
struct student{
        char name[20];
        char tel[12];
};
void sort(student ss[]);
void outPut(student ss[]);
main()
{

    student        contacts[10]={{"LiLei","13678941562"},
        {"WangHao","15046523182"},
        {"WangDi","13598741863"},
        {"OuyangDan","13875469871"},
        {"HanLi","13647152364"},
        {"Zhengchao","15098563214"},
    {"Futong","13213254698"},
        {"FangYang","15978632132"},
        {"BaiHao","15432145698"},
        {"Cenyu","15896566532"}};
        sort(contacts);
        outPut(contacts);
}

void sort(struct student ss[])
{

        

}


void outPut(struct student ss[])
{
        int i;
        printf("------通讯录-------\n");
        printf("姓名\t\t电话\t\n");
                    //补充代码
        printf("\n");
}




发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

刘曰天 发表于 2019-12-27 08:43


//小明要制作班里的通讯录,要求参照手机通讯录。按A~Z排序(10分)
#include "stdio.h"
#include "string.h"
struct student{
        char name[20];
        char tel[12];
};
void sort(student ss[]);
void outPut(student ss[]);
int main()
{

    student        contacts[10]={{"LiLei","13678941562"},
        {"WangHao","15046523182"},
        {"WangDi","13598741863"},
        {"OuyangDan","13875469871"},
        {"HanLi","13647152364"},
        {"Zhengchao","15098563214"},
    {"Futong","13213254698"},
        {"FangYang","15978632132"},
        {"BaiHao","15432145698"},
        {"Cenyu","15896566532"}};
        sort(contacts);
        outPut(contacts);
}

void sort(struct student ss[])
{
    //冒泡排序
    for (int i=0; i<10; i++)
    {
        for (int j=0; j<10-i-1; j++)
        {
            //用strcmp比对两个字符串大小,第一个参数大则返回1,反之返回-1,相等返回0
            if(strcmp(ss[j].name,ss[j+1].name) > 0)
            {
                char temp[20]={0};      //临时存储
                //进行交换
                strcpy(temp,ss[j].name);
                strcpy(ss[j].name,ss[j+1].name);
                strcpy(ss[j+1].name,temp);
            }
        }
    }
}


void outPut(struct student ss[])
{
        int i;
        printf("------通讯录-------\n");
        printf("姓名\t\t电话\t\n");
                    //补充代码
        //输出10个学生信息
        for (int i=0; i<10; i++)
        {
            printf("%s\t\t%s\t\n",ss[i].name,ss[i].tel);

        }
        printf("\n");
}


//今天都考试了,还来的及吗
深夜雪 发表于 2019-12-27 14:56
比较 ss.name[0] 的大小就可以了
[C] 纯文本查看 复制代码
void sort(struct student ss[])
{
    //冒泡排序
   	for(int i = 0; i < 9; i++)
   	{
   		for(int j = 0;j < 9-i; j++)
   		{
   			if(ss[j].name[0] > ss[j+1].name[0])
   			{
   				student temp;
   				temp = ss[j+1];
   				ss[j+1] = ss[j];
   				ss[j] =  temp;
			}
		}
		
	}
}

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
庞晓晓 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-27 00:17

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表