鱼C论坛

 找回密码
 立即注册
查看: 962|回复: 2

[已解决]指针问题

[复制链接]
发表于 2020-12-12 14:17:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
从键盘输入一字符串到一维数组a中,将其中的小写字母改为大写字母输出;同时将所有的数字字符转成数字之后,求和输出。

例如:输入字符串"adW3q5T8w",

则输出:ADW3Q5T8W

     16(注:3+5+8=16)
最佳答案
2020-12-12 15:01:08
本帖最后由 风过无痕1989 于 2020-12-12 15:59 编辑
// 从键盘输入一字符串到一维数组a中,将其中的小写字母改为大写字母输出;同时将所有的数字字符转成数字之后,求和输出
#include<stdio.h>

void main()
{
        int i, n = 0, sum = 0;
        char ch, *p, a[20];
        while ((ch = getchar()) != '\n')
        {
                a[n] = ch;
            n++;
    }
        p = a;
        for (i = 0;i < n;i++)
        {
                if (*(p + i) <= 'z' && *(p + i) >= 'a')
                        *(p + i) -= 32;
                if (*(p + i) >= '0' && *(p + i) <= '9')
                        sum += *(p + i) - 48;
        }
        for (i = 0;i < n;i++)
        {
                printf("%c", a[i]);
        }
        printf("\n");
        printf("%d\n", sum);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-12 15:01:08 | 显示全部楼层    本楼为最佳答案   
本帖最后由 风过无痕1989 于 2020-12-12 15:59 编辑
// 从键盘输入一字符串到一维数组a中,将其中的小写字母改为大写字母输出;同时将所有的数字字符转成数字之后,求和输出
#include<stdio.h>

void main()
{
        int i, n = 0, sum = 0;
        char ch, *p, a[20];
        while ((ch = getchar()) != '\n')
        {
                a[n] = ch;
            n++;
    }
        p = a;
        for (i = 0;i < n;i++)
        {
                if (*(p + i) <= 'z' && *(p + i) >= 'a')
                        *(p + i) -= 32;
                if (*(p + i) >= '0' && *(p + i) <= '9')
                        sum += *(p + i) - 48;
        }
        for (i = 0;i < n;i++)
        {
                printf("%c", a[i]);
        }
        printf("\n");
        printf("%d\n", sum);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-12 15:38:02 | 显示全部楼层
本帖最后由 rt3 于 2020-12-12 15:40 编辑
#include<stdio.h>
#include<string.h>

int main()
{
    char a[90]={'\0'};
    scanf("%s",&a);
    int sum=0;
    for(int b=0;b<90;b++){
        if((a[b]>=97)&&(a[b]<=122)){
            a[b]-=32;
        }else if((a[b]>=48)&&(a[b]<=57)){
            sum+=a[b]-48;
        }else if(a[b]=='\0')break;
    }
    printf("%s\n%d\n",a,sum);
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 10:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表