c语言中表示男性别的字符是什么,C语言结构中根据性别分类按年龄升序输出姓名...
给你个思路,将每个输入的个人信息判断一下,分别录入两个结构体数组,
再将两个结构体数组分别冒泡排序,分别输出
在你的代码上改了下,有好多可以优化的地方,
例如可以将冒泡排序封装成一个函数
给代码给你参考一下
#include
#include
struct student{
char name[20]; //姓名
char sex[10]; //性别
int age; //年龄
};
int main()
{
int i,j,n;
int countM=0,countF=0;
struct student s1;
printf("Input n:");
scanf("%d",&n);
struct student boy[n+1]; //分别定义两个结构体数组
struct student girl[n+1];
for(i=1;i<=n;i++){
scanf("%s%s%d",s1.name,s1.sex,&s1.age);
if(strcmp(s1.sex,"boy")==0){ //男生存在男生的结构体数组中,女生同理
strcpy(boy[countM].name,s1.name);
strcpy(boy[countM].sex,s1.sex);
boy[countM].age=s1.age;
countM++; //统计男生的个数(后面排序用到)
}
if (strcmp(s1.sex,"girl")==0) {
strcpy(girl[countF].name,s1.name);
strcpy(girl[countF].sex,s1.sex);
girl[countF].age=s1.age;
countF++;
}
}
for ( i=0;i
for (j=0;j
if (boy[j].age>boy[j+1].age){
struct student tem;
strcpy(tem.name,boy[j].name);
strcpy(tem.sex,boy[j].sex);
tem.age=boy[j].age;
strcpy(boy[j].name,boy[j+1].name);
strcpy(boy[j].sex,boy[j+1].sex);
boy[j].age=boy[j+1].age;
strcpy(boy[j+1].name,tem.name);
strcpy(boy[j+1].sex,tem.sex);
boy[j+1].age=tem.age;
}
}
}
for ( i=0;i
for ( j=0;j
if (girl[j].age>girl[j+1].age){
struct student tem;
strcpy(tem.name,girl[j].name);
strcpy(tem.sex,girl[j].sex);
tem.age=girl[j].age;
strcpy(girl[j].name,girl[j+1].name);
strcpy(girl[j].sex,girl[j+1].sex);
girl[j].age=girl[j+1].age;
strcpy(girl[j+1].name,tem.name);
strcpy(girl[j+1].sex,tem.sex);
girl[j+1].age=tem.age;
}
}
}
for (i=0;i
printf ("%s ",boy[i].name);
}
printf ("\n");
for (i=0;i
printf ("%s ",girl[i].name);
}
return 0;
c语言中表示男性别的字符是什么,C语言结构中根据性别分类按年龄升序输出姓名...相关推荐
- 在c语言中 不可表示的字符是什么,C 语言易错点综合
C语言原则:一切工作自己负责. C语言哲学:语言中的任何部分都不应该通过隐藏的运行程序来实现. 1.当执行一个运算时,如果它的一个运算符是有符号的,而另一个运算符是无符号的,那么C语言会隐式地将有符号 ...
- c语言中字符串数组应用,C语言中字符变量字符串和字符数组应用.doc
C语言中字符变量字符串和字符数组应用 字符变量(type`char`?字符串(string)和字符数组(type`char`arrary)是C语言中非常重要的结构成分,也是应用编程中常发生混淆?导致错 ...
- c语言中宏定义的字符替换#define M(x,y,z) x*y+z
C语言中宏定义的字符替换问题 例子: 在c语言中定义如下宏 #define M(x,y,z) x*y+z 给定如下程序 #include<stdio.h> #include<stdl ...
- c语言中函数名可不可以由用户命名,C语言中变量名及函数名的命名规则与驼峰命名法...
在程序设计中,变量名.函数名.数组名等统称为标识 符.简单地说,标识符就是一个名字.除库函数的函数名由系统定义外,其余都由用户自定义.C语言规定,标识符只能由字母(a-z,A-Z).数字 (0-9). ...
- c语言中不能编译,为什么`int;`可以在C语言中很好地编译,而在C ++中却不能?
考虑以下程序(请参见此处的现场演示). #include int main(void) { int ; // Missing variable name puts("Surprise&qu ...
- 【C语言进阶深度学习记录】二十六 C语言中的字符串与字符数组的详细分析
之前有一篇文章是学习了字符和字符串的,可以与之结合学习:[C语言进阶深度学习记录]十二 C语言中的:字符和字符串 文章目录 1 字符串的概念 1.1 字符串与字符数组 1.2 字符数组与字符串代码分析 ...
- 在C语言中怎样定义一个字符串并输入输出
在C语言中没有字符串类型,用字符数组处理字符串 字符数组定义:char 数组名 [常量表达式][常量表达式] 说明:一维字符数组,用于存储和处理一个字符串 .二维字符数组,用于同时存储和处理多个字符串 ...
- c语言中减号算一个字符吗,C语言中指针的加减运算
char arr[3]; printf("arr:\n%d\n%d\n%d\n", arr, arr + 1, arr + 2); char *parr[3]; printf(&q ...
- c语言中的编程英文怎么看,在C语言中使用英文字符
前面我们多次提到了字符串,字符串是多个字符的集合,它们由" "包围,例如"http://c.biancheng.net"."C语言中文网". ...
最新文章
- kali linux网络配置
- 【机器学习】机器学习的经典算法
- DevOps和容器:本地or云端,如何选择?
- 图说数据中心新风节能技术
- 【python】排序算法的稳定性冒泡排序(画图详细讲解)
- 测试必备:单元测试测试类,以帮助匿名管理调查的类为例详解--白盒测试
- php.ini修改php上传文件大小限制的方法
- 【图频处理】基于matlab GUI界面环图像处理与音乐播放系统【含Matlab源码 185期】
- 手机修改ntp服务器地址,手机修改ntp服务器ip地址
- 【预测模型-RF预测】基于随机森林算法实现数据回归预测附matlab代码
- smartbi问题_SAP BO的五大尴尬,Smartbi就是HANA用户的“菜”
- 优秀笔记软件盘点—好看、强大的可视化笔记软件、知识图谱工具
- 腾讯云硬盘挂载宝塔命令
- 平板电脑Viewpad10安装win7与Android双系统
- Idea中GsonFormat插件安装
- 滴滴开源小程序框架 Mpx
- dpabi viewer使用
- 喵的Unity游戏开发之路 - 玩家控制下的球的滑动
- 局域网arp攻击_什么是arp攻击?arp攻击的解决方法有哪些?
- parser.add_argument metavar