结构体需要注意的内容:
字符串的内容暂时不需要太深入了解
#include <string.h> //导入头文件 strpcy结构体变量的运输
不能: + - * /
只能相互赋值。 好比喻: int i = 10; int j = i; 但要注意: 前提是类型一致。(struct Struct) 自己做的最有意义的一道排序题目:
- /*
- 冒泡排序
- */
- #include <stdio.h>
- #include <malloc.h>
- void InPut(int *);
- void OutPut(int *,int);
- void Sort(int *q,int len);
- int main(void)
- {
- int len;
- InPut(&len);
- int *p = (int *)malloc(sizeof(int)*len);
- OutPut(p,len);
- Sort(p,len);
- return 0;
- }
- /*
- 提示用户输入信息
- */
- void InPut(int*len)
- {
- printf("请输入需要排序的个数:\n");
- scanf("%d",len);
- }
- /*
- 把输入的信息显示出来信息显示出来
- *q 相当于 *a[0] 输出
- */
- void OutPut(int *q,int len)
- {
- int i =0;
- for (i=0;i<len;i++)
- {
- printf("请输入第%d个数字:\n",i+1);
- scanf("%d",(q+i)); //指针类型,而我的数组其实就是指针类型。
- }
- printf("**********************以下内容是用户输入的信息:**********************\n");
- for(i=0;i<len;i++)
- {
- printf("%d ",q[i]); //同等于 *(q+i)
- }
- printf("\n");
- }
- /*
- 排序
- */
- void Sort(int *q,int len)
- {
- printf("**********************排序过后的:**********************\n");
- int i =0;
- int j =0;
- for(i=0;i<len-1;i++)
- {
- for(j=0;j<len-1-i;j++)
- {
- if(q[j]>q[j+1])
- {
- int temp;
- temp = q[j];
- q[j] = q[j+1];
- q[j+1] = temp;
- }
- }
- }
- for(i=0;i<len;i++)
- {
- printf("%d ",*(q+i));
- }
- printf("\n");
- }
- 小小的一个学生的管理系统的我们就做完毕了.但是有很多我们还是不明确的.我们明天做完作业的时候.一定要复习这套题目
- /*
- 动态构造存放学生的信息结构体数组
- 动态构造一个数组,存放学生的信息
- 然后按分数排序
- */
- #include <stdio.h>
- #include <string.h>
- #include <malloc.h>
- struct Student
- {
- char name[100]; //姓名
- int age ; //年龄
- float score; //成绩
- };
- void show(int);
- void InPut(struct Student*,int );
- void Sort(struct Student*,int len);
- int main(void)
- {
- // struct Student *xiaoxi; //指针类型
- int len ;
- printf("请输入班级的学生数:");
- scanf("%d",&len);
- printf("%d\n",len);
- struct Student *xiaoxi = (struct Student *)malloc(sizeof(struct Student )*len);
- InPut(xiaoxi,len);
- Sort(xiaoxi, len);
- return 0;
- }
- /*
- 提示学生输入管理信息!
- */
- void InPut(struct Student*xiaoxi,int len)
- {
- int i = 0;
- printf("请输入用户的以下信息:\n\n");
- for(i=0;i<len;i++)
- {
- printf("请输入第%d个学生的信息:\n",i+1);
- printf("姓名:\n");
- /*
- 因为 xiaoxi[i] 代表的是 xiaoxi 是一个指针类型.本来就是一个地址啦.所以不用取
- */
- scanf("%s",xiaoxi[i].name);
- printf("年龄:\n");
- scanf("%d",&xiaoxi[i].age);
- printf("成绩:\n");
- scanf("%f",&xiaoxi[i].score);
- }
- }
- /*
- 排序的过程
- */
- void Sort(struct Student*xiaoxi,int len)
- {
- printf("系统经过处理后的数据:\n");
- int i =0;
- int j = 0;
- for (i=0;i<len-1;i++)
- {
- for(j=0;j<len-1-i;j++)
- {
- if(xiaoxi[j].score>xiaoxi[j+1].score)
- {
- struct Student temp;
- temp = xiaoxi[j];
- xiaoxi[j] = xiaoxi[j+1];
- xiaoxi[j+1] = temp;
- }
- }
- }
- printf("整理完毕...!\n");
- for(i=0;i<len;i++)
- {
- printf("第%d个学生的信息:\n",i+1);
- printf("姓名:\n");
- printf("%s\n",xiaoxi[i].name);
- printf("年龄:\n");
- printf("%d\n",xiaoxi[i].age);
- printf("成绩:\n");
- printf("%f\n",xiaoxi[i].score);
- }
- }
个人觉得不够努力,最近心烦的很多.一定得要努力.加油啦