栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言输入一个字符串并逆序输出同时输出大写字母的数量

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言输入一个字符串并逆序输出同时输出大写字母的数量

这个问题实际上需要分成两个问题:

1.逆序输出 2.输出大写字母的数量

首先对第一个问题进行考虑,我可以想到两种解决方法。

第一种:利用数组将字符串储存起来,然后定义指针指向字符串所在的最后一个数组地址,然后循环进行指针地址每次减一输出就可以实现了逆序输出。

第二种方法:定义两个数组将第一个数组的第一位放到第二个数组的最后一位,这个只需要得到字符串的长度就可以很好的实现了。

显然本文是采用的第二种方法。

第二个问题:这个问题也很简单只需要把字符串中的每一个字母拿出来进行与A和Z比较(由于ASCII码的存在是可以直接进行比较的)然后定义一个计数变量每一次加一就可以了。

#include
#include 
void reverse(char a[]);
int main()
{
    int sumA=0;
    char a[300]="";
    gets(a);
    reverse(a);
    printf("%s, ",a);
    char *p;
    for (p = a; *p != ''; p++){
        if (*p >= 'A' && *p <= 'Z')
        sumA += 1;
    }
    printf("%d",sumA);
    return 0;
}
void reverse(char a[])
{
    int i,j;
    char b[300]="";
    j=(int)strlen(a)-1;
    for(i=0;i<=j;i++)
    {
        b[i]=a[i];
    }
    b[i]='';
    for(i=0;i<(int)strlen(a);j--,i++)
    {
        a[i]=b[j];
    }
    a[i]='';
}
这个代码很简单适合初学者掌握学习

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/886806.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号