学习C 的第十二天

来源:互联网 发布:网络发帖 编辑:程序博客网 时间:2024/05/20 19:15

冒泡排序

/*          冒泡排序*/#include <stdio.h>void sort(int * p, int len){    int i, j;    int t;    for(i=0; i<len-1; ++i)//比较最大值的次数    {        for(j=0; j<len-1-i; ++j) //比较时的个数        {            if(p[j] > p[j+1])//>升序;<降序            {                t = p[j];                p[j] = p[j+1];                p[j+1] = t;            }        }    }}int main(void){    int i;    int a[5]={5, -2, 0, 6, 3};    sort(a, 5);//交换    for(i=0; i<5; ++i)        printf("%d\n", a[i]);    return 0;}/*输出结果:-20356Press any key to continue*/

学生管理系统

#include <stdio.h>#include <malloc.h>struct xinxi{    char name[100];    int age;    float score;};void Input(struct xinxi * p, int len);void sort(struct xinxi * p, int len);void Output(struct xinxi * p, int len);int main(void){    int len;    struct xinxi * pxx; //用于存储学生信息    printf("请输入学生个数:\n");    scanf("%d", &len);    pxx =(struct xinxi *)malloc(len * sizeof(struct xinxi));    Input(pxx, len);//输入学生信息    sort(pxx, len);    printf("\n\n");    Output(pxx, len);    return 0;}void Input(struct xinxi * p, int len){    int i;    for(i=0; i<len; ++i)    {        printf("请输入第%d个学生的信息:\n", i+1);        printf("age = ");        scanf("%d", &p[i].age);        printf("name = ");        scanf("%s", p[i].name);        printf("score = ");        scanf("%f", &p[i].score);    }}void sort(struct xinxi * p, int len){    int i,j;    struct xinxi t;    for(i=0; i<len-1; ++i)    {        for(j=0; j<len-1-i; ++j)        {            if(p[j].score > p[j+1].score)            {                t = p[j];                p[j] = p[j+1];                p[j+1] = t;            }        }    }}void Output(struct xinxi * p, int len){    int i;    for(i=0; i<len; ++i)    {        printf("第%d名的学生信息:\n", i+1);        printf("age = %d\n", p[i].age);         printf("name = %s\n", p[i].name);        printf("score = %f\n", p[i].score);    }    printf("\n");}/*输出结果:score = 5请输入第2个学生的信息:age = 3name = 3score = 3请输入第3个学生的信息:age = 4name = 4score = 4第1名的学生信息:age = 3name = 3score = 3.000000第2名的学生信息:age = 4name = 4score = 4.000000第3名的学生信息:age = 5name = 5score = 5.000000Press any key to continue*/

枚举

举例
enum Weekday
{
Monday, Tuesday, ……,(中间省略)Sunday
};

int main(void)
{
enum Weekday day = Monday;
printf(“%d”, day); // 输出值为6
return 0;
}

枚举的定义类似于结构体。枚举内的取值相当于从0到N排序,类似于数组a[0]到a[n].

0 0
原创粉丝点击