请从键盘上输入一个字符给字符变量 m(利用 getchar()函数 实现),判断该字符是大小字母还是小写字母,将结果显示在屏幕上。

请从键盘上输入一个字符给字符变量 m(利用 getchar()函数
实现),判断该字符是大小字母还是小写字母,将结果显示在屏幕上。



#include <stdio.h>
int main() {
    char m;
    printf("请输入一个字符:\n");
    m = getchar();
    if (m >= 97 && m <= 122) {
        printf("%c是小写字母\n", m);
    }
    else if (m >= 65 && m <= 90) {
        printf("%c是大写字母\n", m);
    }
    else {
        printf("%c不是字母\n", m);
    }
    return 0;
}

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/631927
  • 这篇博客也不错, 你可以看下消息队列-如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?
  • 除此之外, 这篇博客: 数据结构-线性表的顺序存储实现及应用中的 线性表的顺序存储实现及应用 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    实验目的

    1. 掌握抽象数据类型ADT的定义、表示和实现。
    2. 掌握线性表的基本结构和操作方法。
    3. 培养学生灵活使用数据结构解决实际问题的能力。

    实验内容

    采用顺序表方案实现一个简易的学生信息管理系统。其中,学生信息包括学号、姓名、性别、年龄、专业。该管理系统能提供建立、查询、删除和增加学生信息等功能。要求:

    1. 根据所学知识,为待加工的数据定义恰当的“学生”数据类型。
    2. 利用顺序表各个基本操作的框架来实现管理系统中的各个功能。
    3. 初始学生信息可以选择从键盘录入或者从文件中读取,待管理系统操作完毕后将最新的学生信息全部写入文件中保存。

    代码:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    
    //*******数据类型定义*******
    
    #define LIST_INIT_SIZE 100
    #define LISTINCREMENT 10
    struct Student
    {
        int no;            //学号
        char name[10];     //姓名
        char sex;          //性别
        int age;           //年龄
        char major[12];    //专业
    };
    typedef struct Student ElemType;
    typedef struct
    {
        ElemType *data;
        int length;
        int listsize;
    }SeqList;        //学生顺序表类型
    int studentnumber=0;
    
    //*******基本操作定义*******
    
    void InitList_Seq(SeqList &L);    //顺序表初始化
    void CreatList_Seq(SeqList &L,ElemType a[],int n);     //建立长度为n的顺序表
    void Show_Seq(SeqList L);    //显示顺序表信息
    int LocateElem_Seq(SeqList L, int e);    //按值e查询顺序表
    
    //void Copy_Stu(ElemType &tar_stu, ElemType src_stu);        //学生信息拷贝操作
    
    //*******功能操作定义*******
    
    void Create(SeqList &L);    //建立学生表
    void Locate(SeqList L);    //查询学生
    void Insert(SeqList &L);    //增加学生
    void Delete(SeqList &L);    //删除学生
    void Save(SeqList L);        //存储信息
    
    
    
    //*******基本操作实现*******
    
    void InitList_Seq(SeqList &L)     //顺序表初始化
    {
        L.data = (ElemType *)malloc(LIST_INIT_SIZE * sizeof(ElemType));
        if(!L.data) exit(0);
        L.length = 0;                //顺序表中当前所含元素个数为 0
        L.listsize = LIST_INIT_SIZE;
    }
    
    void CreatList_Seq(SeqList &L,ElemType a[],int n) //建立长度为n的顺序表
    {
        InitList_Seq(L);
        //完备性考虑,在创建之前,还应该判断n与L.listsize的大小关系
        if(n>L.listsize){
            printf("输入错误\n");
            exit(0);
        }
        
        for(int i = 0; i < n; i++)
        {
            L.data[L.length]= a[i];
            L.length++;
        }
    }
    
    void Show_Seq(SeqList L){
        printf("学号\t姓名\t性别\t年龄\t专业\n");
        for(int i=0;i<L.length;i++){
            printf("%d\t%s\t%c\t%d\t%s\n",L.data[i].no,L.data[i].name,L.data[i].sex,L.data[i].age,L.data[i].major);
        }
    }
    
    int LocateElem_Seq(SeqList L, int e){
        int result=0;
        for(int i=0;i<LIST_INIT_SIZE;i++){
            if(L.data[i].no==e){
                result=e;
                break;
            }
        }
        return result;
    }
    
    
    //*******功能操作实现*******
    
    void Create(SeqList &L){
        InitList_Seq(L);
        FILE * input;
        input=fopen("StudentInformation.txt","r");
        int i=0;
        while(!feof(input)){
            fscanf(input,"%d\t%s\t%c\t%d\t%s\n",&L.data[i].no,L.data[i].name,&L.data[i].sex,&L.data[i].age,L.data[i].major);
            i++;
        }
    }
    
    void Locate(SeqList L)        //查询学生
    {
        int no;
        printf("请输入需查询学生的学号:");
        scanf("%d", &no);
        int index = LocateElem_Seq(L, no);
        
        if(index == 0)
            printf("没有此学号的学生\n");
        else
        {
            printf("该学生信息如下:\n");
            printf("学号\t姓名\t性别\t年龄\t专业\n");
            printf("%d\t%s\t%c\t%d\t%s\n", L.data[index-1].no, L.data[index-1].name, L.data[index-1].sex, L.data[index-1].age, L.data[index-1].major);
        }
        
    }
    
    void Insert(SeqList &L){       //增加学生
        while(1){
            printf("请输入学号:");
            scanf("%d\n",&L.data[studentnumber].no);
            printf("请输入姓名:");
            scanf("%s\n",L.data[studentnumber].name);
            printf("请输入性别:");
            scanf("%c\n",&L.data[studentnumber].sex);
            printf("请输入年龄:");
            scanf("%d\n",&L.data[studentnumber].age);
            printf("请输入专业:");
            scanf("%s\n",L.data[studentnumber].major);
            int flag=0;
            for(int i=0;i<studentnumber;i++){
                if(L.data[i].no==L.data[studentnumber].no){
                    printf("输入重复,请重新输入\n");
                    printf("**********************\n");
                    flag=1;
                }
            }
            if(flag==0){
                printf("添加成功");
                break;
            }
        }
        studentnumber++;
    }
    
    void Delete(SeqList &L){           //删除学生
        int a;
        char b;
        printf("请输入学号:");
        scanf("%d\n",&a);
        for(int k=0;k<studentnumber;k++){
            if(a==L.data[k].no){
                printf("是否删除?(y或n)");
                scanf("%c\n",&b);
                if(b=='n'){
                    printf("取消删除");
                    break;
                }else{
                    for(int i=k;i<studentnumber;i++){
                        L.data[k].no=L.data[k+1].no;
                        strcpy(L.data[k].name,L.data[k+1].name);
                        L.data[k].sex=L.data[k+1].sex;
                        L.data[k].age=L.data[k+1].age;
                        strcpy(L.data[k].major,L.data[k+1].major);
                    }
                    printf("删除成功\n");
                    studentnumber--;
                }
            }else{
                printf("查无此人\n");
                break;
            }
        }
    }
    
    void Save(SeqList L){
        FILE * output;
        output=fopen("StudentInformation.txt","w");
        for(int i=0;i<L.length;i++){
            fprintf(output,"%d\t%s\t%c\t%d\t%s\n",L.data[i].no,L.data[i].name,L.data[i].sex,L.data[i].age,L.data[i].major);
        }
        fclose(output);
        printf("保存成功\n");
    }
    
    //*******学生信息管理系统*******
    
    int main()
    {
        SeqList StuList;
        int choice = 0;
        do
        {
            printf("****************学生信息管理****************\n");
            printf("******************1----建立****************\n");
            printf("******************2----查询****************\n");
            printf("******************3----删除****************\n");
            printf("******************4----增加****************\n");
            printf("******************5----存储****************\n");
            printf("******************0----退出****************\n");
            printf("*******************************************\n");
            printf("请选择(0-4): ");
            scanf("%d", &choice);
            switch(choice)
            {
                case 1:
                {
                    Create(StuList);
                    break;
                }
                case 2:
                {
                    Locate(StuList);
                    break;
                }
                case 3:
                {
                    Delete(StuList);
                    break;
                }
                case 4:
                {
                    Insert(StuList);
                }
                case 5:
                {
                    Save(StuList);
                }
                case 0:
                    break;
                default:
                    printf("输入错误!\n");
            }
        }while(choice);
        
        return 0;
    }
    
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^