anhongkiusu 发表于 2020-12-12 14:17:00

指针问题

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

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

则输出:ADW3Q5T8W

   16(注:3+5+8=16)

风过无痕1989 发表于 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;
        while ((ch = getchar()) != '\n')
        {
                a = 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);
        }
        printf("\n");
        printf("%d\n", sum);
}

rt3 发表于 2020-12-12 15:38:02

本帖最后由 rt3 于 2020-12-12 15:40 编辑


#include<stdio.h>
#include<string.h>

int main()
{
    char a={'\0'};
    scanf("%s",&a);
    int sum=0;
    for(int b=0;b<90;b++){
      if((a>=97)&&(a<=122)){
            a-=32;
      }else if((a>=48)&&(a<=57)){
            sum+=a-48;
      }else if(a=='\0')break;
    }
    printf("%s\n%d\n",a,sum);
    return 0;
}
页: [1]
查看完整版本: 指针问题