• 第十二次作业


    1.找出最长的字符串

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    int max=0,math,i;
    char s1[80],s2[80];
    for(i=1;i<=5;i++)
    {
    gets(s2);
    math=strlen(s2);
    if(math>max)
    {
    max=math;
    strcpy(s1,s2);
    }
    }
    puts(s1);
    printf("%d",max);
    return 0;
    }

    2.分类统计字符个数

    #include<stdio.h>
    #include<string.h> 
    int main()
    {
        char str[50];
        int i,dx,xx,math,kg,qt;
        dx=xx=math=kg=qt=0;
        gets(str);
        for(i=0;i<strlen(str);i++)
        {
            if(str[i]>='A'&&str[i]<='Z')
                dx++;
            else if(str[i]>='a'&&str[i]<='z')
                xx++;
            else if(str[i]>='0'&&str[i]<='9')
                math++;
            else if(str[i]==' ')
                kg++;
            else
                qt++;
        } 
        printf("大写字母%d个    小写字母%d个    数字%d个    空格%d个    其他字符%d个
    ",dx,xx,math,kg,qt);
        return 0;
    }

    3.学生信息管理系统

    #include<stdio.h>
    #include<string.h>
    struct studys_list
    {
        char name[10];
        char xh[20];
        int math,english,china;
        double average;
    };
    int count=0;
    void new_study(struct studys_list studys[]); 
    void print_study(struct studys_list studys[]);
    void search_study(struct studys_list studys[],char *name);
    void search_study(struct studys_list studys[],char *name);
    int main()
    {
        int ch;
        char name[10]; 
        struct studys_list studys[50]; 
        do
        {
            printf("	***学生信息管理系统***
    ");
            printf("	1.输入学生信息
    ");
            printf("	2.输出学生信息
    ");
            printf("	3.按姓名查找学生本信息
    ");
            printf("	0:退出
    ");
            scanf("%d",&ch);
                switch(ch)
                {
                case 1:new_study(studys);break;
                case 2:print_study(studys);break;
                case 3:printf("请输入学生姓名
    ");
                       scanf("%s",name);
                         search_study(studys,name);
                       break;
                case 0:break;
                }
        }while(ch!=0);
        return 0;
    } 
    void new_study(struct studys_list studys[])
    {
        struct studys_list s;
        if(count==50)
        {
            printf("已达上限!");
            return;
        }
        printf("请输入学生姓名");
        scanf("%s", s.name);
        printf("请输入学生学号");
        scanf("%s",s.xh);
        printf("请输入数学成绩");
        scanf("%d",&s.math);
        printf("请输入英语成绩");
        scanf("%d",&s.english);
        printf("请输入语文成绩");
        scanf("%d",&s.china);
        s.average=(s.math+s.english+s.china)/3;
        studys[count]=s;
        count++;
    }
    
    
    void print_study(struct studys_list studys[])
    {
        
        printf("学生基本信息为:
    ");
        int i;
        for(i=0;i<count;i++)
        {
            printf("%s    %.1lf  %s
    ",studys[i].name,studys[i].average,studys[i].xh);
            printf("%d    %d  %d
    ",studys[i].math,studys[i].china,studys[i].english);
        }
    }
    
    void search_study(struct studys_list studys[],char *name)
    {
        int i,flag=0;
        if(count==0){
            printf("无学生信息
    ");
            return;
        }
        for(i=0;i<count;i++)
            if(strcmp(name,studys[i].name)==0){
                flag=1;
                    break;
            }
            if(flag){
                printf("姓名:%s	",studys[i].name);
                printf("语文成绩:%d	",studys[i].china);
                printf("数学成绩:%d	",studys[i].math);
                printf("英语成绩:%d	",studys[i].english);
                printf("平均成绩:%.2lf	",studys[i].average);
                printf("学号:%s
    ",studys[i].xh);
            }
    }

     

    知识点

    1.puts()gets()的用法

    2.strcpy(s1,s2)把2付给1

      strcat(s1,s2)2与1合并付给1

      strcmp(s1,s2)1与2比大小

      strcpy()计算字符串长度

    遇到的问题与解决方法

    在编写第二个的时候没有找到方向,于是请求了同学的帮助

    在编写第三个的时候遇到了很多问题,一部分经过看书解决,一部分经过自己的多次试验,一部分请求老师的帮助,结果发现了是我&符号出现了问题,我并没有很好地理解&的意义

  • 相关阅读:
    关于篮球🏀
    Docker学习笔记
    Java中的强引用,软引用,弱引用,虚引用
    MySQL:show process
    航空航天概论复习
    【Shell技巧】shell统计文件夹下的文件个数、目录个数 Don't use ls | grep. Use a glob or a for loop with a condition to allow nonalphanumeric filenames.
    【Shell技巧】以空格分隔的字符串解析成数组 Prefer mapfile or read a to split command output (or quote to avoid splitting).
    【Shell Check】Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead.
    【Shell技巧】清理文件内的所有文件以及 Use "${var:?}" to ensure this never expands to /* .
    【go语言基础】函数
  • 原文地址:https://www.cnblogs.com/zscswd1368/p/6169626.html
Copyright © 2020-2023  润新知