Mooc 数字特征值 c语言直接模拟

题目说明在这里插入图片描述

思路解释

不像许多答案那样简洁,这里给出我的朴实解答。
就是直接模拟。先通过循环来求有几位数。
然后对每位数字和数位进行直接比较,符合的二进制转十进制累加即可。

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

int main(){
    int n;
    scanf("%d",&n); // 输入一个整数 n
    
    int sub=n; // 用于保存 n 的副本
    int digit_sum=0; // 用于记录 n 的位数总和
    
    // 计算 n 的位数总和
    while (sub){
        sub/=10;
        digit_sum++;
    }
    
    int binary_sum=0; // 用于保存最终的二进制和
    
    // 从最高位到最低位,计算二进制和
    while (digit_sum){
        int current_digit=n/ pow(10,digit_sum-1); // 获取当前位的数字
        
        // 判断当前位数字和位数是否同时为偶数或奇数
        if (current_digit%2==0 && digit_sum%2==0 || current_digit%2 && digit_sum%2)
            binary_sum+= pow(2,digit_sum-1); // 更新二进制和
        
        n-= pow(10,digit_sum-1)*current_digit; // 剔除当前位数字
        digit_sum--; // 减少位数
    }
    
    printf("%d",binary_sum); // 输出最终的二进制和
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MOOC翁凯C语言期末考试是一项对学生在C语言编程方面的掌握程度进行综合评估的考试。在这次考试中,学生将会面对一系列与C语言相关的问题和编程题目。 首先,考试将会涉及C语言的基础知识,包括变量定义、运算符使用、流程控制和函的使用等。学生需要对这些内容有清晰的理解和掌握,能够正确地应用于实际的编程问题中。 其次,考试还将要求学生能够分析和解决一些较为复杂的编程问题。这些问题可能涉及到组、指针、结构体等高级据结构和算法的使用。学生需要能够理解并正确应用这些概念,以解决给定的编程问题。 此外,考试可能会涉及一些C语言程序的输出结果预测和错误调试等内容。学生需要具备对C语言的程序执行过程有清晰的认识,能够正确预测程序输出结果,并有能力发现和纠正程序中的错误。 最后,考试还可能会包括一些编程题目,要求学生能够根据题目要求独立编写C语言程序。在这些题目中,学生需要展示自己的编程能力和解决问题的能力,用C语言实现要求的功能,并保证程序的正确性和健壮性。 综上所述,MOOC翁凯C语言期末考试是一次对学生在C语言编程方面的综合能力进行考察的考试。学生需要掌握C语言的基础知识,具备解决编程问题的能力,并能够独立完成一定的编程任务。该考试将帮助学生提升在C语言编程方面的能力,并为将来在计算机编程领域的学习和工作奠定坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天真且kk

觉得有帮助可以意思一下哈:)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值