精华内容
下载资源
问答
  • PTA 十进制转换二进制

    2021-02-19 11:51:47
    PTA 十进制转换二进制 (15 分) 前言 本题要求实现一个函数,将正整数n转换为二进制后输出。 #include <math.h> void dectobin( int n ) { int a,result=0; while(n!=0) { a=fabs(log10(n)/log10(2)); n=n-pow...

    PTA 十进制转换二进制 (15 分)


    前言

    本题要求实现一个函数,将正整数n转换为二进制后输出。

    #include <math.h>
    void dectobin( int n )
    {
    int a,result=0;
    while(n!=0)
    {
    a=fabs(log10(n)/log10(2));
    n=n-pow(2,a);
    result=result+pow(10,a);
    }
    printf("%d",result);
    }

    展开全文
  • 进制转换成T进制 给定一个整数Q(2<=Q<=10),一个非空字符串,以及另一个整数T(2<=T<=10), 编程要求过滤掉字符串中所有非Q进制数对应的字符组成一个新的字符串,...第行输入以回车结束的一行非空字符...

    进制转换成T进制

    给定一个整数Q(2<=Q<=10),一个非空字符串,以及另一个整数T(2<=T<=10), 编程要求过滤掉字符串中所有非Q进制数对应的字符组成一个新的字符串,该字符串无正负号,将该字符串表示的Q进制数转换为T进制数的字符串输出。

    输入格式:

    第一行输入一个整数Q, 代表Q进制(2<=Q<=10)

    第二行输入以回车结束的一行非空字符串。

    第三行输入一个整数T, 代表要转换成T进制

    输出格式:

    输出转换后的T进制数字符串。

    输入样例:

      10

      15

       2

    输出样例:

       1111

        这道题就是两步,第一步是一次读字符,如果不是Q进制数字符就跳过(要注意 Q 进制字符是 0 到 Q - 1,比如 5 进制就是0,1,2,3,4), 如果是就加到sum里。相当于在读完字符串的时候,Q进制数就已经转成十进制数 sum 了。第二步就是十进制数转 T 进制数,参考下图十进制转 2 进制的过程很容易写代码。(这道题由于 Q 和 T 都是 2 到 10 之间,所以不需要考虑更多的东西,会简单不少)。

    #include <stdio.h>
    int main() {
        int Q, T, sum = 0;
        scanf("%d", &Q);
        getchar();      // 要读掉回车
        char ch;
        while ((ch = getchar()) != '\n')
            if (ch >= '0' && ch <= ('0' + Q - 1))	// 其他字符都过滤掉,2进制可取值为0和1,没有2
                sum = sum * Q + (ch - '0');		      // sum为Q进制转为10进制
        if (sum == 0) {
            printf("0\n");
            return 0;
        }
        scanf("%d", &T);
        if (T == 10) {    // 转成十进制的话直接输出就行
            printf("%d\n", sum);
            return 0;
        }
        // 下面是10进制数sum转为T进制
        int cur = 0, a[100000];
        while (sum != 0) {
            a[cur++] = sum % T;
            sum /= T;
        }
        for (int i = cur - 1; i >= 0; i--)
            printf("%d", a[i]);
        return 0;
    }

     

    展开全文
  • 6-8 十进制转换二进制 本题要求实现一个函数,将正整数n转换为二进制后输出。 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进制的n。建议用递归实现。 裁判测试程序样例: #include &...

    6-8 十进制转换二进制


    本题要求实现一个函数,将正整数n转换为二进制后输出。
    函数接口定义:

    void dectobin( int n );
    

    函数dectobin应在一行中打印出二进制的n。建议用递归实现。

    裁判测试程序样例:

    #include <stdio.h>
    
    void dectobin( int n );
    
    int main()
    {
        int n;
    
        scanf("%d", &n);
        dectobin(n);
    
        return 0;
    }
    

    /* 你的代码将被嵌在这里 */
    输入样例:

    10
    

    输出样例:

    1010
    

    Author
    C课程组
    Organization
    浙江大学
    Code Size Limit
    16 KB
    Time Limit
    400 ms
    Memory Limit
    64 MB
    方法一:用递归实现

    void dectobin( int n ){
        if(n > 1){
            dectobin(n / 2);
            printf("%d", n % 2);
        }
        else
            printf("%d",n );
    }
    

    方法二:用循环实现

    void dectobin( int n ){
        int d[8], k = 0;
        do {
            d[k++] = n % 2;
            n /= 2;
        } while(n);
        while(k--){
            printf("%d",d[k]);
        }
    

    感觉自己慢慢喜欢上了递归的简洁啊,虽然递归有一(亿)(bushi)点点缺点

    展开全文
  • PTA 习题10-7 十进制转换二进制 (15 分) 本题要求实现一个函数,将正整数n转换为二进制后输出。 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进制的n。建议用递归实现。 裁判测试程序...

    PTA 习题10-7 十进制转换二进制 (15 分)
    本题要求实现一个函数,将正整数n转换为二进制后输出。

    函数接口定义:

    void dectobin( int n );
    

    函数dectobin应在一行中打印出二进制的n。建议用递归实现。

    裁判测试程序样例:

    #include <stdio.h>
    void dectobin( int n );
    int main(){
        int n;
    
        scanf("%d", &n);
        dectobin(n);
    
        return 0;
    }
    /* 你的代码将被嵌在这里 */
    

    输入样例:

    10
    

    输出样例:

    1010
    
    void dectobin(int n) {
        int a[1000], i = 0;
        while (n / 2 != 0)
        {
            a[i++] = n % 2;
            n /= 2;
        }//3/2=1,1/2=0,1就不输出了,所以需要a[i]=n手动输出;
        a[i] = n;
        for (int j = i;j >= 0;j--)
            printf("%d", a[j]);
    }
    
    展开全文
  • PTA上测试最后一个测试点总是无法通过,不知道该怎么改,请大佬帮忙看一下: <code>#include<iostream> #include<cmath> using namespace std; int main(void){ int n,sum(0); ...
  • 本题要求实现一个函数,将正整数n转换为二进制后输出。 函数接口定义 void dectobin( int n ); 函数dectobin应在一行中打印出二进制的n。建议用递归实现。 裁判测试程序样例: #include <stdio.h> void ...
  • 本题要求实现一个函数,将正整数n转换为二进制后输出。 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进制的n。建议用递归实现。 裁判测试程序样例: #include <stdio.h> void ...
  • 本题要求实现一个函数,将正整数n转换为二进制后输出。 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进制的n。建议用递归实现。 裁判测试程序样例: #include <stdio.h> void ...
  • 本题要求实现一个函数,将正整数n转换为二进制后输出。 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进制的n。建议用递归实现。 裁判测试程序样例: #include <stdio.h> ...
  • 本题要求实现一个函数,将正整数n转换为二进制后输出。 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进制的n。建议用递归实现。 裁判测试程序样例: #include <stdio.h> void ...
  • 本题要求实现一个函数,将正整数n转换为二进制后输出。 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进制的n。建议用递归实现。 裁判测试程序样例: #include <stdio.h> void ...
  • 进制转换 PTA 7-6 IP地址转换

    千次阅读 2020-05-26 08:53:34
    在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间用“.”分隔开。 输入样例: 11001100100101000001010101110010 输出样例: 204.148.21.114 思路 : 按部就班的一位位...

空空如也

空空如也

1 2 3 4 5 6
收藏数 111
精华内容 44
关键字:

二进制转十进制pta