最近开始重温一本c++的宝书,感觉以前所学的知识还未牢固。《c++程序设计》by Y.Daniel Liang 强烈推荐。是我看过的最好的一本入门级的c++好书。
下面对其中的一些例子和习题,拿出来分享下。纯属本人原创。
1.逆序问题:
(按逆序显示一个整数)函数头如下:
void reverse (int number)
(返回一个整数的逆序) 函数头如下:
int reverse (int number)
void reverse(int number)
{
while(number!=0)
{
cout<<number%10<<"";
number=number/10;
}
}
int reverse(int number)
{
int a;
a=number%10;
return a;
}
int main()
{
int n;
int b;
cout<<"输入一个数:"<<endl;
cin>>n;
// reverse(n);
while(n!=0)
{
b=reverse(n);
n=n/10;
cout<<b<<"";
}
}
2.输出0--250以内 素数:
/
0-250范围内的素数///
int main(){
//cout<<sizeof(int)<<"\t"<<sizeof(long)<<"\t"<<sizeof(float)<<"\t"<<sizeof(char)<<endl;
const int NUNBER_PER_LINE=10;
const int NUMBER=250;
int number=1;
int divisor;
bool isPrime;
//int data[200];
//int i=0;
static int count=0;
while(number++<NUMBER){
isPrime=true;
for(divisor=2;divisor<=number/2;divisor++)//key
{
if(number%divisor==0)
{
isPrime=false;
break;
}
}
if(number==2){isPrime=true;}
//data[i++]=number;
if(isPrime)
{
count++;
cout<<setw(4)<<number<<"";
if(count >=NUNBER_PER_LINE){
cout<<endl;
count=0;
}
}
}
}
void reverse(int number)
{
while(number!=0)
{
cout<<number%10<<"";
number=number/10;
}
}
3.猜数字:在0--100的整数范围内,随机猜数字,看看猜中的次数
int main()
{
int n,number;
int cnt=1;
srand(time(0));
number=rand()%100;
cout<<"Please guess what you think it will be(0-100):"<<endl;
cin>>n;
while(n!=number){
cnt++;
if(n>number)
{cout<<"your input is larger "<<endl
<<"please input again"<<endl;
cin>>n;
}
else
{cout<<"your input is smaller"<<endl<<"please input again"<<endl;
cin>>n;
}
}
cout<<"your answer is correct!"<<endl
<<"total guess number is "<<cnt<<endl;
return 0;
}