C语⾔结构体冒泡排序个⼈学习过程:C语⾔的结构体代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct stu
{
int num;
char name[32];
int age;
};
int main(void)
{
struct stu arr[3];//={{13,"neo",52},{16,"gvew",58},{17,"grwg",59}}可以最后输⼊运⾏,⽅便测试
int i=0,j=0;
int n=sizeof(arr)/sizeof(arr[0]);
memset(arr,0,sizeof(arr));//清零操作
printf("请输⼊%d个数据:\n",n);
for( i =0; i < n; i++)
{c语言的冒泡排序算法
scanf("%d %s %d",&arr[i].num,arr[i].name,&arr[i].age);
}
for(i=0;i<n;i++)
{
printf("%d  %s  %d\n",arr[i].num,arr[i].name,arr[i].age);
}
for(i=0;i<n-1;i++)//外侧循坏
{
for(j=0;j<n-i-1;j++)//内层循环
{
if(arr[j].num<arr[j+1].num)//判断⽐较⼤⼩,字符串不能直接⽐较,需要strcmp
{
struct stu tmp;
tmp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tmp;
}
}
}
printf("********************************************************************\n");
for(i=0;i<n;i++)
{
printf("%d  %s  %d\n",arr[i].num,arr[i].name,arr[i].age);
}
return0;
}
输⼊:
13 “neo” 52
12 “gvew” 58
17 “grwg” 5

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。