结构体需要注意的内容:

字符串的内容暂时不需要太深入了解

#include <string.h> //导入头文件
strpcy

结构体变量的运输

不能: + - *  /

只能相互赋值。
好比喻: int i = 10;  int j = i; 
但要注意: 前提是类型一致。(struct Struct)

自己做的最有意义的一道排序题目:

 

 
  1. /*  
  2. 冒泡排序   
  3. */ 
  4. #include <stdio.h>  
  5. #include <malloc.h>  
  6.  
  7. void InPut(int *);  
  8. void OutPut(int *,int);  
  9. void Sort(int *q,int len);  
  10. int main(void)  
  11. {  
  12.     int len;  
  13.     InPut(&len);  
  14.     int *p = (int *)malloc(sizeof(int)*len);   
  15.     OutPut(p,len);  
  16.     Sort(p,len);  
  17.     return 0;  
  18. }  
  19.  
  20. /*  
  21. 提示用户输入信息   
  22. */ 
  23. void InPut(int*len)  
  24. {  
  25.     printf("请输入需要排序的个数:\n");  
  26.     scanf("%d",len);  
  27.       
  28. }  
  29. /*  
  30. 把输入的信息显示出来信息显示出来   
  31. *q 相当于 *a[0] 输出   
  32. */ 
  33. void OutPut(int *q,int len)  
  34. {  
  35.     int i =0;  
  36.     for (i=0;i<len;i++)   
  37.     {  
  38.         printf("请输入第%d个数字:\n",i+1);  
  39.         scanf("%d",(q+i)); //指针类型,而我的数组其实就是指针类型。   
  40.     }  
  41.     printf("**********************以下内容是用户输入的信息:**********************\n");  
  42.     for(i=0;i<len;i++)  
  43.     {  
  44.         printf("%d  ",q[i]);  //同等于 *(q+i)  
  45.     }  
  46.     printf("\n");  
  47. }  
  48.  
  49. /*  
  50. 排序   
  51. */ 
  52. void Sort(int *q,int len)  
  53. {  
  54.     printf("**********************排序过后的:**********************\n");  
  55.     int i =0;  
  56.     int j =0;  
  57.     for(i=0;i<len-1;i++)  
  58.     {  
  59.         for(j=0;j<len-1-i;j++)  
  60.         {  
  61.             if(q[j]>q[j+1])    
  62.             {  
  63.                 int temp;  
  64.                 temp = q[j];  
  65.                 q[j] = q[j+1];  
  66.                 q[j+1] = temp;  
  67.             }  
  68.         }  
  69.     }  
  70.     for(i=0;i<len;i++)  
  71.     {  
  72.         printf("%d  ",*(q+i));  
  73.     }  
  74.     printf("\n");  
  75.           
  76. }  
  77.  
  78.  
  79. 小小的一个学生的管理系统的我们就做完毕了.但是有很多我们还是不明确的.我们明天做完作业的时候.一定要复习这套题目  
  80.  
  81. /*  
  82. 动态构造存放学生的信息结构体数组  
  83. 动态构造一个数组,存放学生的信息  
  84. 然后按分数排序   
  85. */ 
  86.  
  87.  
  88. #include <stdio.h>  
  89. #include <string.h>  
  90. #include <malloc.h>  
  91. struct Student  
  92. {  
  93.     char name[100];  //姓名  
  94.     int age ; //年龄  
  95.     float score; //成绩  
  96.           
  97. };  
  98. void show(int);  
  99. void InPut(struct Student*,int );  
  100. void Sort(struct Student*,int len);  
  101. int main(void)  
  102. {  
  103. //  struct Student *xiaoxi; //指针类型  
  104.     int len ;  
  105.     printf("请输入班级的学生数:");  
  106.     scanf("%d",&len);  
  107.     printf("%d\n",len);  
  108.       
  109.     struct Student *xiaoxi = (struct Student *)malloc(sizeof(struct Student )*len);  
  110.     InPut(xiaoxi,len);  
  111.     Sort(xiaoxi, len);  
  112.     return 0;  
  113. }  
  114.  
  115.  
  116. /*  
  117. 提示学生输入管理信息!   
  118. */ 
  119. void InPut(struct Student*xiaoxi,int len)  
  120. {  
  121.     int i = 0;  
  122.     printf("请输入用户的以下信息:\n\n");  
  123.     for(i=0;i<len;i++)  
  124.     {  
  125.         printf("请输入第%d个学生的信息:\n",i+1);  
  126.         printf("姓名:\n");  
  127.         /*  
  128.         因为 xiaoxi[i] 代表的是 xiaoxi   是一个指针类型.本来就是一个地址啦.所以不用取   
  129.         */   
  130.         scanf("%s",xiaoxi[i].name);  
  131.         printf("年龄:\n");  
  132.         scanf("%d",&xiaoxi[i].age);  
  133.         printf("成绩:\n");  
  134.         scanf("%f",&xiaoxi[i].score);  
  135.     }     
  136. }  
  137.  
  138. /*  
  139. 排序的过程   
  140. */ 
  141. void Sort(struct Student*xiaoxi,int len)  
  142. {  
  143.     printf("系统经过处理后的数据:\n");  
  144.     int i =0;  
  145.     int j = 0;  
  146.     for (i=0;i<len-1;i++)  
  147.     {  
  148.         for(j=0;j<len-1-i;j++)  
  149.         {  
  150.             if(xiaoxi[j].score>xiaoxi[j+1].score)  
  151.             {  
  152.                 struct Student temp;  
  153.                 temp = xiaoxi[j];  
  154.                 xiaoxi[j] = xiaoxi[j+1];  
  155.                 xiaoxi[j+1] = temp;  
  156.             }   
  157.         }  
  158.     }  
  159.     printf("整理完毕...!\n");  
  160.     for(i=0;i<len;i++)  
  161.     {  
  162.         printf("第%d个学生的信息:\n",i+1);  
  163.         printf("姓名:\n");  
  164.         printf("%s\n",xiaoxi[i].name);  
  165.         printf("年龄:\n");  
  166.         printf("%d\n",xiaoxi[i].age);  
  167.         printf("成绩:\n");  
  168.         printf("%f\n",xiaoxi[i].score);  
  169.     }  
  170. }  
  171.  

个人觉得不够努力,最近心烦的很多.一定得要努力.加油啦