C语言(七)

来源:互联网 发布:网络运维与管理 邮发 编辑:程序博客网 时间:2024/05/17 09:22
////  main.c//  -C-7////  Created by lanqs on 14/12/12.//  Copyright (c) 2014年 . All rights reserved.//#include <stdio.h>//1.struct Stu{    int num;    char name[20];    char sex[4];    float score;};struct Stu students[3]={{1,"张三" ,"男",80},{2,"小花" ,"女",100},{3,"李四" ,"男",59.5}};//2.struct days{    int year;    int month;    int day;}days1;//3.struct student{    int num;    char name[10];    float score[3];};struct student xuesheng[5]={     {1,"小张",{60,60,60}},     {2,"小明",{70,70,70}},     {3,"小红",{80,80,80}},     {4,"小李",{90,90,90}},     {5,"小王",{100,100,100}},};//4.struct STU4{    int num;    char name[20];    int sex;    float score;    char shouke[10];    int find;}STU4_four[3];int tianshu(int year,int month, int day);void three(int *num,struct student a[5]);int main(int argc, const char * argv[]) {#pragma mark - 1、有3个学生,定义一个结构体包含每个学生信息(编号、姓名、性别、分数),借助条件表达式,编程找出分数最高者;//    float max=0;//    for (int i = 0; i < 3; i ++) {//        if (students[i].score > max) {//            max = students[i].score;//        }//    }//    for (int i = 0; i < 3; i ++) {//        if (students[i].score == max) {//            printf("%d,%s,%s,%.2f",//                   students[i].num,students[i].name,students[i].sex,students[i].score);//        }//        //    }//    printf("\n");#pragma mark -  2、定义一个结构体,描述日期的年月日;1)提示用户输入日期,计算该日在本年中为第几天?2)求今年任意2天的天数差?//    printf("请输入:年 月 日\n");//    scanf("%d%d%d",&days1.year,&days1.month,&days1.day);////    scanf("%d%d%d",&year,&month,&day);//    int days =tianshu(days1.year, days1.month, days1.day);//    printf("%d",days);#pragma mark - 3.某班有5个学生,三门课。分别编写实现以下要求: (1) 写一个函数,输出一名学生的所有信息 (2) 求各门课的平均分;  注:结构体元素有:num,name,score[3](能动态输入信息就更好了)//   //    int a=1;//    three(&a, xuesheng);//    int sum1,sum2,sum3;//    for (int i = 0; i < 5; i ++) {//        sum1 += xuesheng[i].score[0];//        sum2 += xuesheng[i].score[1];//        sum3 += xuesheng[i].score[2];//    }//    printf("\n");//    printf("%d %d %d", sum1/5,sum2/5,sum3/5);////    #pragma mark - 4.4、请利用结构体和共用体 达到如下效果: 请输入信息://    姓名:tom//    性别:(0代表女1代表男)1//    请选择学生还是老师:(1代表学生,2 代表老师)1//    请输入学生成绩:90//    请输入信息:姓名:lily//    性别:(0代表女1代表男)0//    请选择学生还是老师:(1代表学生,2 代表老师)2//    请输入授课内容:iOS//    请输入信息:姓名:jerry//    性别:(0代表女1代表男)1//    请选择学生还是老师:(1代表学生,2 代表老师)1//    请输入学生成绩:100//    //    录入信息如下://    第1人的信息:编号1:,姓名:tom,性别:1成绩为90//    *************************************************//    第2人的信息:编号2:,姓名:lily,性别:0授课内容为:ios//    *************************************************//    第3人第信息:编号3:,姓名:jerry,性别:1成绩为100//    *************************************************\     int num=0;   //编号        for (int i = 0; i < 3; i ++) {        //当输入为学生时            num++;        printf("请选择学生还是老师:(1代表学生,2 代表老师)");        scanf("%d",&STU4_four[i].find);           if (STU4_four[i].find == 1) {            //编号;            STU4_four[i].num = num;                        //请输入学生成绩:90            printf("请输入学生成绩:");            scanf("%f",&STU4_four[i].score);                        //请输入信息:姓名:lily            printf("请输入信息:姓名:");            scanf("%s",STU4_four[i].name);                        //性别:(0代表女1代表男)0            printf("性别:");            scanf("%d",&STU4_four[i].sex);        }else if (STU4_four[i].find == 2){                        STU4_four[i].num = num;            //    请输入授课内容:iOS            printf("请输入授课内容:iOS");            scanf("%s",STU4_four[i].shouke);            //    请输入信息:姓名:jerry            printf("请输入信息:姓名:");            scanf("%s",STU4_four[i].name);                        //    性别:(0代表女1代表男)1            printf("性别:0代表女1代表男)");            scanf("%d",&STU4_four[i].sex);        }            }    for (int i = 0; i < 3; i ++) {                if (STU4_four[i].find == 2) {            printf("编号:%d ,姓名:%s ,性别: %d, 授课为 %s",                   STU4_four[i].num,                   STU4_four[i].name,                   STU4_four[i].sex,                   STU4_four[i].shouke);        }else {            printf("编号:%d ,姓名:%s ,性别: %d, 成绩为 %f",                   STU4_four[i].num,                   STU4_four[i].name,                   STU4_four[i].sex,                   STU4_four[i].score);        }                printf("\n");    }        printf("\n");    return 0;}int tianshu(int year,int month, int day){    int days=0;               //1,2,3,4,5,6,7,8,9,10,11,12    int m[12] = {0,0,31,30,31,30,31,31,30,31,30,31};        m[0] = day;    if (month > 2) {        if ((year % 4 == 0 && year % 100 == 0) || year % 400 == 0) {            m[1] = 29;        }else{            m[1] = 28;        }    }else{        m[1]=31;    }    for (int i = 0 ; i < month ; i ++) {        days += m[i];    }    return days;}void three(int *num , struct student a[5]){    for (int i = 0; i < 5; i ++) {        if (*num == a[i].num) {            printf("%d %s %.1f %.1f %.1f", a[i]. num,a[i].name,a[i].score[0],a[i].score[1],a[i].score[2]);        }    }}

0 0
原创粉丝点击