苦海无涯回头翻船
2021-06-18 14:39
采纳率: 100%
浏览 36

C语言字符串转换数字

在键盘上以字符串的形式输入一段数字,然后将字符串形式的数字从头到尾挨个转换成数字,接着将顺序的数字和逆序的学号相加,最后将和输出到屏幕

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • CSDN专家-link 2021-06-18 14:44
    已采纳

    你意思是字符串"123"转换为整数123吗?

    将顺序的数字和逆序的学号相加----怎么抛出来一个学号?是指将123+321求和?

    1 打赏 评论
  • Ascii字符转数字,用ascii-48就可以了。

    1 打赏 评论
  • CSDN专家-link 2021-06-18 15:04
    void main()
    {
        char c[8];
        scanf("%s",&c);
        int a[8] = {0};
        int i,j;
        for(i=0;c[i] != 0;i++)
            a[i] = c[i] - '0';
        int m=0,n=0;
        int b = 1;
        for(j=i-1;j>=0;j--)
        {
            m+=a[j]*b;
            b*=10;
        }
        b = 1;
        for(j=0;j<i;j++)
        {
            n+=a[j]*b;
            b*=10;
        }
        printf("转换的整数为:%d,整数与逆序整数和为:%d\n",m,n+m);
    }
    打赏 评论
  • qfl_sdu 2021-06-18 14:58

    使用atoi()函数可以直接把字符串数字转成整数

    打赏 评论
  • 智者知已应修善业 2021-06-18 15:01

    如果是可联系

    打赏 评论
  • qzjhjxj 2021-06-18 15:02

    供参考:

    #include <stdio.h>
    #include <string.h>
    int main()
    {
        char n[64];
        int i,j,len,num1=0,num2=0;
        scanf("%s",n);
        len = strlen(n);
        for(i=0,j=len-1;i<len;i++,j--)
        {
           num1 = num1*10 + n[i]-'0';
           num2 = num2*10 + n[j]-'0';
        }
        printf("%d\n",num1+num2);
        
        return 0;
    }
    打赏 评论
  • 有问必答小助手 2021-06-21 17:58

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    打赏 评论

相关推荐 更多相似问题