您的位置:首页 > 房产 > 家装 > 郑州一站式网站搭建_数字电视播放的视频格式_网络推广的公司更可靠_大连seo建站

郑州一站式网站搭建_数字电视播放的视频格式_网络推广的公司更可靠_大连seo建站

2024/12/23 8:45:34 来源:https://blog.csdn.net/KBDYD1010/article/details/142340860  浏览:    关键词:郑州一站式网站搭建_数字电视播放的视频格式_网络推广的公司更可靠_大连seo建站
郑州一站式网站搭建_数字电视播放的视频格式_网络推广的公司更可靠_大连seo建站

1.定义结构体数组存储5个学生的信息:姓名,年龄,性别

定义函数实现输入,要求形参使用结构体指针接收

函数实现5个学生年龄排序(注意对年龄排序时,交换的是所有信息)

定义函数实现输出,要求形参使用结构体指针接收

代码如下:

#include <myhead.h>
//定义学生结构体,其中有姓名、年龄、性别三个元素
typedef struct
{char name[20];int age;char sex;
}stu,*Stu;
//定义输入函数
void input(Stu p)
{//循环输入学生信息for(int i=0;i<5;i++){printf("请输入第%d个学生信息:",i+1);scanf("%s %d %c",(p+i)->name,&(p+i)->age,&(p+i)->sex);}
}
//定义排序函数
void sort(Stu p)
{//定义临时变量stu tmpt;//循环比较并交换元素顺序for(int i=1;i<5;i++){for(int j=0;j<5-i;j++){//判断数组元素年龄大小if((p+j)->age>(p+j+1)->age){//交换年龄大的信息给临时变量strcpy(tmpt.name,(p+j)->name);tmpt.age=(p+j)->age;tmpt.sex=(p+j)->sex;//年龄大信息与年龄小信息交换,进行由小到大排序strcpy((p+j)->name,(p+j+1)->name);(p+j)->age=(p+j+1)->age;(p+j)->sex=(p+j+1)->sex;//交换临时变量和年龄小的信息strcpy((p+j+1)->name,tmpt.name);(p+j+1)->age=tmpt.age;(p+j+1)->sex=tmpt.sex;}}}
}
//定义输出函数
void output(Stu p)
{for(int i=0;i<5;i++){printf("学生姓名:%s\t年龄:%d\t性别:%c\n",(p+i)->name,(p+i)->age,(p+i)->sex);}
}
int main(int argc, const char *argv[])
{//定义结构体数组stu xs[5];//定义结构体指针指向结构体数组Stu p=xs;//调用输入函数input(p);printf("排序前学生信息:\n");//调用输出函数output(p);//调用排序函数sort(p);printf("排序后学生信息:\n");output(p);return 0;
}

 结构体数组元素可以整体交换

int sort_bubla(Pstu s)
{int i,j;stu temp;//中间变量进行数据交换for(i  =1;i<MAX;i++){for(j = 0;j<MAX-i;j++){if(s[j].age>s[j+1].age){temp  = s[j];s[j] = s[j+1];s[j+1] = temp;}}}return 0;
}

运行结果如图所示:

2.定义小车结构体,存储名称、价钱、颜色。定义两个变量a,b,初始化,实现ab互换。

代码如下:

#include <myhead.h>
//定义一个车的结构体,有品牌、价格、颜色三个成员元素
typedef struct
{char name[20];float money;char color[20];
}car;
void exchange(car *a,car *b){//定义临时变量用于交换car c;//将a的信息复制给临时变量strcpy(c.name,a->name);c.money=a->money;strcpy(c.color,a->color);//a、b交换strcpy(a->name,b->name);a->money=b->money;strcpy(a->color,b->color);//将临时变量的值赋给b 完成交换strcpy(b->name,c.name);b->money=c.money;strcpy(b->color,c.color);
}
int main(int argc, const char *argv[])
{//定义并初始化两个结构体变量car a={"宝马",80,"白"};car b={"本田",15,"黑"};printf("交换前:\n");printf("a车品牌:%s\t价格:%.2f万元\t颜色:%s\n",a.name,a.money,a.color);printf("b车品牌:%s\t价格:%.2f万元\t颜色:%s\n",b.name,b.money,b.color);//调用交换函数exchange(&a,&b);printf("交换后:\n");printf("a车品牌:%s\t价格:%.2f万元\t颜色:%s\n",a.name,a.money,a.color);printf("b车品牌:%s\t价格:%.2f万元\t颜色:%s\n",b.name,b.money,b.color);return 0;
}

运行结果如图所示:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com