C语言第四次作业
手写笔记:
pta问题:编程题
输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。
解决办法:百度查询
#include<stdio.h>
struct era{
char name[30];
int date;
char num[30];
};
int main(){
int n,i,j;
scanf("%d",&n);
struct era s1[n],max[n];
for( i=0;i<n;i++){
scanf("%s %d %s",s1[i].name,&s1[i].date,s1[i].num);
}
for(i=0;i<n-1;i++){
for( j=1+i;j<n;++j){
if(s1[i].date>s1[j].date){
max[i]=s1[i];
s1[i]=s1[j];
s1[j]=max[i];
}
}
}
for(i=0;i<n;i++){
printf("%s %d %s\n",s1[i].name,s1[i].date,s1[i].num);
}
}
学习中的问题:
结构与数组的区
1、定义不同
数组是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,
也称为数组的元素,有时也称为下标变量;结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构。
2、数据类型不同
数组是相同类型元素(元素可以是原子类型的整型、浮点型、字符型或者结构体、数组等)的集合;
结构体是不同类型元素(元素可以是原子类型的整型、浮点型、字符型或者结构体、数组等)的集合。
3、调用方式不同
数组可以直接利用下标访问;
而结构体必须使用结构中成员的变量名。