zoukankan      html  css  js  c++  java
  • 题目(11)答案改

    我突然发现【题目(11)】答案有一点问题,输出控制的那一段。所以我改了一下,还加了点小特效。(非常非常小的特效)

    #include <iostream>
    #include <string>
    #include <sstream>
    #include <iomanip>
    #include "windows.h"
    #include "stdio.h"
    
    using namespace std;
    
    string int2str(int aNum)
    {
    	stringstream res;
    	res << aNum;
    	string s;
    	res >> s;
    	return s;
    }
    
    int char2int(char s)
    {
    	stringstream res;
    	res << s;
    	int n;
    	res >> n;
    	return n;
    }
    
    int cifang16(int aNum, int time)//1 0
    {
    	int sum = 1;
    	for(int i = 0; i < time; i++)
    	{
    		sum = sum * 16;
    	}
    	return sum * aNum;
    }
    
    int hex2dec(char hex, int time)
    {
    	int num;
    	if(hex == 'A' || hex == 'a')
    		num = 10;
    	else if(hex == 'B' || hex == 'b')
    		num = 11;
    	else if(hex == 'C' || hex == 'c')
    		num = 12;
    	else if(hex == 'D' || hex == 'd')
    		num = 13;
    	else if(hex == 'E' || hex == 'e')
    		num = 14;
    	else if(hex == 'F' || hex == 'f')
    		num = 15;
    	else
    		num = char2int(hex);
    	num = cifang16(num, time);
    	return num;
    }
    int binLen;
    string ShortDivide(int dec)
    {
    	 int everytime, yu;
    	 string num = "";
    	 while(dec != 0)
    	 {
    	 	num += int2str(dec % 2);
    	 	dec = dec / 2;
    	 }
    	 binLen = num.size();
    	 return num;
    }
    
    string Dec2Bin(int dec)
    {
    	string lbin = ShortDivide(dec);
    	return lbin;
    }
    
    int main()
    {
    	string hexNum;//十六进制数 △ 
    	printf("[Hex change to Bin]
    ----------------
    ");
    	printf("输入一个十六进制数:");
    	cin >> hexNum;//10
    	int hlen = hexNum.size();
    	int dec = 0;//十进制数 △ 
    	for(int i = 0; i < hlen; i++)
    	{
    		dec += hex2dec(hexNum[hlen - i - 1], i);
    	}
    	
    	for(int i = 0; i < 3; i++){
    		cout << "……";
    		Sleep(1000);
    	}
    	cout << endl;
    	system("cls");
    	cout << "十进制数是 " << dec << endl;
    	//ShortDivide()函数 
    	string bin = Dec2Bin(dec);//二进制数△ 
    	int k = binLen % 4;
    	cout << "二进制数是";
    	if(k == 0){
    	}
    	else
    		cout << setw(4 - k + 1) << setfill('0');
    	for(int i = binLen - 1; i >= 0; i--)
    	{
    		cout << bin[i];
    	}
    	cout << endl;
    	return 0;
    }
    

    其中Sleep()是睡眠,也就是停顿一下,system(“cls”)是清屏,需要windows.h函数库


    再点个赞,谢谢!

  • 相关阅读:
    C#引用类型详细剖析(转)
    wcf问题集锦
    Emgu CV 初试
    C#语言使用习惯
    多线程和消息机制
    ArrayAdapter
    SimpleAdapter
    删除对话框
    HTML制作个人简历
    冒泡排序
  • 原文地址:https://www.cnblogs.com/coding365/p/12872417.html
Copyright © 2011-2022 走看看