zoukankan      html  css  js  c++  java
  • 课程设计:进制转换

    进制转换

    题目要求:

    编一程序,实现将输入的一个无符号整数转换为二进制和八进制表示,分别存入字符

    (1)输入无符号整数;

    (2)输出无符号整数;数组中并输出。(提示:算法采用模拟人工法。)

    注:计算机模拟人工是编程中常用的方法,这种方法要求编程者首先分析在人工方式下解决问题的过程,从中找出步骤和规律,然后编写程序,按照人工解决问题的步骤和规律进行操作。

    主要功能包括:

    (3)输入输入要转换的进制;

    (4)输出转换后的值;

    (5)退出系统;

     进制转换实现就很简单了,模拟人工用辗转相除法,代码如下:

     1 #include<stdio.h>
     2 #include<iostream>
     3 using namespace std;
     4 
     5 void num_chang(int x,int n)                //进制转化函数
     6 {
     7     char a[20];
     8     int i=0,rem;
     9 
    10     do                                     //循环取每一位
    11     {
    12         rem=x%n;
    13         x=x/n;
    14         a[i]=rem+48;
    15         i++;
    16      }while(x!=0);                         //结束循环条件
    17 
    18     printf("转化成%d进制结果为:",n);
    19     while(i>0) {--i; printf("%c",a[i]);}   //循环输出每一位
    20 
    21     printf("
    ");
    22 }
    23 
    24 int main()
    25 {
    26     unsigned int x,y;
    27     m:cout<<"输入要转换的十进制数:
    ";
    28     cin>>x;                                 //输入要转换的十进制数
    29     if(x<0)
    30     {cout<<"输入格式有误重新输入
    ";goto m;}//判断输入格式
    31 
    32     n:cout<<"输入要转化成八进制还是二进制(用8或2表示):
    ";
    33     cin>>y;                                 //输入要转化成八进制还是二进制
    34     if(y==2){num_chang(x,2);}               //判断输入格式是否正确
    35     if(y==8){num_chang(x,8);}
    36     if(y!=2&&y!=8){cout<<"输入格式有误重新输入:
    ";goto n;}
    37 
    38     cout<<"是否继续? “Y”继续 “N”退出 若输入格式错误将退出
    ";
    39     char r;
    40     cin>>r;                                 //判断是否继续
    41     if(r=='Y'){goto m;}
    42 
    43     system("pause");                     //程序暂停
    44     return 0;
    45  }
  • 相关阅读:
    反转链表 16
    CodeForces 701A Cards
    hdu 1087 Super Jumping! Jumping! Jumping!(动态规划)
    hdu 1241 Oil Deposits(水一发,自我的DFS)
    CodeForces 703B(容斥定理)
    poj 1067 取石子游戏(威佐夫博奕(Wythoff Game))
    ACM 马拦过河卒(动态规划)
    hdu 1005 Number Sequence
    51nod 1170 1770 数数字(数学技巧)
    hdu 2160 母猪的故事(睡前随机水一发)(斐波那契数列)
  • 原文地址:https://www.cnblogs.com/dzzy/p/4615015.html
Copyright © 2011-2022 走看看