c语言的简单问题 - 爱问答

(爱问答)

c语言的简单问题

2. 输入一个以回车符结束的字符串,分别统计其中的大写字母、小写字母、数字和其他字符的个数。

3. 输入一串字符,判断该字符串是否为“回文”(即顺读和倒读都一样,例如:ABCBA)。


敢问大佬这两题怎么写,字符串一点不会啊

我就简单的写了,代码就没有优化,仅实现了功能,


还有一点要注意的是: 在统计字母的数量时候没有统计回车符, 若是算上就是其他字符+1即可


代码和运行测试如图: 

c语言的简单问题


c语言的简单问题


代码文字:

========================code=============================

#include<stdio.h>

 

int main(){

 

    printf("统计各类字符测试: ");

    printf("请输入一串非中文字符串: ");

    int upcnum = 0, lowcnum = 0, digcnum = 0, othercnum = 0, i, j, length;

    char c , s1[1024] = {''}, s2[1024]={''};

 

    while(c = getchar()){

       if (c == ' ') break;

 

       if (c >= 'a' && c <= 'z') lowcnum++;

       else if (c >= 'A' && c <= 'Z') upcnum++;

       else if (c >= '0' && c <= '9') digcnum++;

       else othercnum++;

    }

 

    printf("一共有小写字母%d个,大写字母%d个,数字%d个,其他字符%d个 ",

            lowcnum, upcnum, digcnum, othercnum);

 

    //回文判断

    printf("字符串回文测试 ");

    printf("请输入字符串: ");

    gets(s1); length = strlen(s1);

    for(i = 0, j = length-1; i < length; i++, j--) s2[j] = s1[i];

    for(i = 0; i < length; i++) if (s1[i] != s2[i]) break;

 

    if (i == length) printf("你输入的字符串是回文");

    else printf("你输入的字符串不是回文");

 

    return 0;

}

========================code=============================

相关标签:c语言

下一篇:centos7在校园网环境下无法上网,求解答

上一篇:OPPOA31Coloros5.1基于Android8.12019年2月5日出生

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?