aaasdfgzzy 2021-12-13 20:50 采纳率: 79.4%
浏览 46
已结题

求一个人解答基础c语言题

将一个整数中的每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如:87654321,运行结果:7531.

//求差错,结果不对
#include<stdio.h>
 #include<math.h>
 int main()
 {
     int a,t,c=0,i=0;
     double sum=0.0;
     printf("请输入一个数字:\n");
     scanf("%d",&a);
     while(a>0) 
     {
          t=a%10;
         a/=10;
         if(t%2!=0) c++;//奇数的个数
             sum=sum+(double)t*pow(10,c-1);//求和
    }
     printf("t中的数为:%.2f\n",sum);
     return 0;
 }

  • 写回答

1条回答 默认 最新

  • 南七灵 2021-12-13 20:57
    关注
    
    //求差错,结果不对
    #include <stdio.h>
    #include <math.h>
    int main()
    {
        int a, t, c = 0, i = 0,sum = 0;
        printf("请输入一个数字:\n");
        scanf("%d", &a);
        while (a > 0)
        {
            t = a % 10;
            a /= 10;
            if(t % 2 == 1){
                c ++;
                sum += pow(10,c - 1)*t;
            }
        }
        printf("t中的数为:%d\n", sum);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月14日
  • 已采纳回答 12月13日
  • 创建了问题 12月13日