判断char型变量c1是否为大写字母的最简单且正确的表达式为以下哪一个?编程证明

a)'A'<=cl<='Z'b)(c1>=A)&&(cl<=Z)c)A<=cl<=Zd)(c1>='A')&&(cl<='Z'),关键是要编程序证明这个选项,不明白怎么编... a) 'A' <= cl <= 'Z' b) (c1 >= A)&& (cl <= Z) c) A <= cl <= Z d) (c1 >= 'A') && (cl <= 'Z'),关键是要编程序证明这个选项,不明白怎么编程 展开
 我来答
冷酷船长
2018-09-18 · TA获得超过252个赞
知道小有建树答主
回答量:310
采纳率:65%
帮助的人:101万
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

#define A 0
#define Z 0

#define ChoiceAmount 4

typedef bool (* choiceFunction_t)(const char);

static const char *upperString = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
static const char *lowerString = "abcdefghijklmnopqrstuvwxyz";
static const char *choiceName = "ABCD";

static bool ChoiceA(const char cl);
static bool ChoiceB(const char cl);
static bool ChoiceC(const char cl);
static bool ChoiceD(const char cl);

int main(int argc, char *argv[])
{
    choiceFunction_t choiceArr[] = {ChoiceA, ChoiceB, ChoiceC, ChoiceD};
    bool isCorrect[] = {true, true, true, true};
    
    for(unsigned int functionIndex = 0; functionIndex < ChoiceAmount; functionIndex++)
        for(unsigned int letterIndex = 0; upperString[letterIndex] != '\0'; letterIndex++)
            if(!choiceArr[functionIndex](upperString[letterIndex]))
                isCorrect[functionIndex] = false;
    
    for(unsigned int functionIndex = 0; functionIndex < ChoiceAmount; functionIndex++)
        for(unsigned int letterIndex = 0; upperString[letterIndex] != '\0'; letterIndex++)
            if(choiceArr[functionIndex](lowerString[letterIndex]))
                isCorrect[functionIndex] = false;
    
    for(unsigned choiceIndex = 0; choiceIndex < ChoiceAmount; choiceIndex++)
        fprintf(stdout, "Choice%c is %s.\n", choiceName[choiceIndex], isCorrect[choiceIndex]?"correct":"incorrect");
    
    return EXIT_SUCCESS;
}

static bool ChoiceA(const char cl) { return 'A' <= cl <= 'Z'; }
static bool ChoiceB(const char cl) { return (cl >= A) && (cl <= Z); }
static bool ChoiceC(const char cl) { return A <= cl <= Z; }
static bool ChoiceD(const char cl) { return(cl >= 'A') && (cl <= 'Z'); }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
极星亮晶晶
2018-09-18 · TA获得超过622个赞
知道答主
回答量:99
采纳率:60%
帮助的人:20.3万
展开全部
#include<stdio.h>
int main()
{
    char c1='D';
    if((c1 >= 'A') && (cl <= 'Z'))
    {
        printf("yes\n");
    }
    else
    {
        printf("no\n");
    }
    return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式