青岛城乡建设局网站首页,wordpress哪个seo工具好,电商产品推广方案,个人域名wordpress突然连不上一、作业
1.定义一个学生结构体#xff0c;包含结构体成员#xff1a;身高#xff0c;姓名#xff0c;成绩#xff1b;定义一个结构体数组有7个成员#xff0c;要求终端输入结构体成员的值#xff0c;根据学生成绩#xff0c;进行冒泡排序。
#include stdio.h包含结构体成员身高姓名成绩定义一个结构体数组有7个成员要求终端输入结构体成员的值根据学生成绩进行冒泡排序。
#include stdio.h
#include string.h
typedef struct {int high;char name[10];float score;
}stu;
int main(int argc, const char *argv[])
{int i,j;stu temp; //其中的temp需要类型重定义stu arr[7]{{100,1,95},{110,2,84},{120,3,70},{130,4,42},{140,5,99},{150,5,77},{160,6,66}};for(i1;i7;i){for(j0;j7-i;j){if(arr[j].scorearr[j1].score){temparr[j];arr[j]arr[j1];arr[j1]temp;}}}for(i0;i7;i){printf(%d %s %f\n,arr[i].high,arr[i].name,arr[i].score);}return 0;
} 二、知识回顾
1.申请一个10个int类型的堆区空间并实现选择排序需要导入头文件 #include stdlib.h
#include stdio.h
#include string.h
#include stdlib.h
//申请一个10个int类型的堆区空间并实现选择排序
int main(int argc, const char *argv[]){int *p(int *)malloc(sizeof(int)*10);int i,j,index,temp;for(i0;i10;i){printf(请输入数字\n);scanf(%d,(pi));}for(i0;i10;i){indexi;for(ji;j10;j){if(*(pj)*(pindex))indexj;}temp*(pi);*(pi)*(pindex);*(pindex)temp;}for(i0;i10;i){printf(%d\n,*(pi));}free(p);return 0;
}
2.用##拼接带参宏的参数
#include stdio.h
#include string.h
//用##实现字符串的拼接
#define unit_32 unsigned int
#define TYPE(a,b) a##b
int main(int argc, const char *argv[])
{TYPE(unit,_32) a100;//unit_32 a100//unsigned int a100printf(%d\n,a);return 0;
}
3.宏函数最后一行作为返回值不需要return
#include stdio.h
#include string.h
#define MAX(a,b) ({if(ab) ret a; else retb; ret;})int main(int argc, const char *argv[])
{int ret;printf(%d\n,MAX(90,78));return 0;
}
4.访问结构体成员
4.1通过结构体变量访问
#include stdio.h
#include string.h
#include stdlib.h
typedef struct {char name[100];char sex;int high;int score;
}stu,*stu_p;int main(int argc, const char *argv[])
{ //指针指向桟区申请的空间stu s1;//strcpy(s1.name,lisi);//s1.namelisi; 这是错误的不能给数组赋值数组名代表的是数组首地址是一个常量不能给常量赋值scanf(%s,s1.name);s1.sexm;printf(%s\n,s1.name);return 0;
}
4.2通过结构体指针间接访问结构体成员
法一用指针指向栈区申请的空间
#include stdio.h
#include string.h
#include stdlib.h
typedef struct {char name[100];char sex;int high;int score;
}stu,*stu_p;int main(int argc, const char *argv[])
{ //指针指向桟区申请的空间stu s1;stu_p ps1;(*p).high100;//strcpy(p-name,lisi);//s1.namelisi; 这是错误的不能给数组赋值数组名代表的是数组首地址是一个常量不能给常量赋值scanf(%s,p-name);p-sexm;printf(%s\n,s1.name);return 0;
}
法二指针指向堆区申请的空间
#include stdio.h
#include string.h
#include stdlib.h
typedef struct {char name[100];char sex;int high;int score;
}stu,*stu_p;int main(int argc, const char *argv[])
{ //指针指向堆区申请的空间stu_p p(stu_p)malloc(sizeof(stu));gets(p-name);p-high100;p-sexm;printf(%s\n,p-name);free(p);pNULL;return 0;
}
5.结构体数组
#include stdio.h
#include string.h
typedef struct{char name[100];int high;char sex;
}stu;int main(int argc, const char *argv[])
{stu arr[3]{{zhangsan,100,m},{lisi,110,m}};for(int i0;i3;i){printf(%s %d %c\n,(arri)-name,arr[i].high,arr[i].sex);}return 0;
}6.内存分配