来地球玩 2021-12-22 14:57 采纳率: 90%
浏览 20
已结题

C++这个程序怎么写

img

int arr[20];
int  num=0;
char str[20];
int sum=0;
gets(str);
int len=strlen(str);
for(int i=0;i<len;i++)
{
    if(str[i]>='0'&&str[i]<='9')
    {
        int a=str[i]-'0';
        arr[num]=a;
        num++;
    }
}

for(int i=0;i<num;i++)
{
    sum+=arr[i]*pow(16,i);
}
printf("%c",sum);
  • 写回答

1条回答 默认 最新

  • 书山客 2021-12-22 15:11
    关注
    
     
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include <math.h>
    int main()
    {
        char str[1024];
        scanf("%s",&str);
        int len = strlen(str);
        int code = 0;
        char temp;
        for (int i = 0; i < len/2; i++)
        {
            temp = str[i];
            str[i] = str[len - 1 - i];
            str[len - 1 - i] = temp;
        }
        for (int i = 0; i < len; i++)
        {
            if (str[i]>='0'&&str[i]<='9')
            {
                code += ((str[i] - '0') * pow(16, len - 1 - i));
            }
            if (str[i] >= 'A' && str[i] <= 'Z')
            {
                code += ((str[i] - 'A' + 10) * pow(16, len - 1 - i));
            }
            if (str[i] >= 'a' && str[i] <= 'z')
            {
                code += ((str[i] - 'a' + 10) * pow(16, len - 1 - i));
            }
        }
        printf("%c",code);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月30日
  • 已采纳回答 12月22日
  • 创建了问题 12月22日