1 #include<iostream>
2 #include<string>
3 using namespace std;
4
5 int main(){
6 const string hexdigits=”0123456789ABCDEF”;
7 cout<<“Enter a series numbers between 0 and 15”
8 <<“separates by spaces.Hit ENTER when finished:”
9 <<endl;
10 string result;
11 string::size_type n;
12 while(cin>>n)
13 if(n<hexdigits.size())
14 result+=hexdigits[n];
15 cout<<“You hex number is”<<result<<endl;
16 return 0;}
这个代码是要将有效范围的数转换成16进制,编译没错,为什么功能不能实现?这是c++ 上的一段程序
2 #include<string>
3 using namespace std;
4
5 int main(){
6 const string hexdigits=”0123456789ABCDEF”;
7 cout<<“Enter a series numbers between 0 and 15”
8 <<“separates by spaces.Hit ENTER when finished:”
9 <<endl;
10 string result;
11 string::size_type n;
12 while(cin>>n)
13 if(n<hexdigits.size())
14 result+=hexdigits[n];
15 cout<<“You hex number is”<<result<<endl;
16 return 0;}
这个代码是要将有效范围的数转换成16进制,编译没错,为什么功能不能实现?这是c++ 上的一段程序
解决方案:20分
你的程序一直都在while里,不是按回车能结束的,除非输入错误(如非数字)才会跳出循环