• 课程设计:进制转换


    进制转换

    题目要求:

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

    (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  }
  • 相关阅读:
    JS基础语法
    JS的初步了解
    CSS初步学习
    HTML标签
    初步了解HTML
    LEGB规则
    Python面试题练习
    闭包
    Caché,Cache数据库连接并查询数据
    Caché,Cache数据库下载
  • 原文地址:https://www.cnblogs.com/dzzy/p/4615015.html
Copyright © 2020-2023  润新知