1. 程式人生 > >C++程式設計基礎題

C++程式設計基礎題

題目:

1.字串轉為int

輸入1234

輸出1234

注意:輸入的必須為字串,輸出必須為int型
2.偶數位轉為大寫
例如:
輸入:lanzhihui is a boy!
輸出:lAnZhIhUi Is A BoY!
注意:空格也算一位,符號不變.
3.每個單詞偶數位轉為大寫
例如:
輸入:lanzhihui is a boy!
輸出:lAnZhIhUi iS a bOy!
注意:符號不變.
4.字串轉換為double
例如:
輸入:123.456            //char a[10]

輸出:123.456            //double n;

5.十進位制轉換為二進位制
輸入:10
輸出:1010
6.將字串中大寫轉換為小寫,小寫轉換為大寫
輸入:LanzhiHUI
輸出:lANZHIhui

7.輸入一個十進位制數轉換為二到九進位制的任意進位制

答案:
1.字串轉為int
輸入1234
輸出1234
注意:輸入的必須為字串,輸出必須為int型
#include<iostream>
#include<string>
using namespace std;


int main()
{
char ch[10];
char a[10];
int sum=0;
gets(ch);
for(int i=0;ch[i]!='\0';i++)
sum=ch[i]-'0'+sum*10;
a[0]=ch[0];
cout<<"輸入"<<ch<<endl;
cout<<a<<endl;
cout<<"輸出"<<sum<<endl;
system("pause");
//return 0;
}

2.偶數位轉為大寫
例如:
輸入:lanzhihui is a boy!
輸出:lAnZhIhUi Is A BoY!
注意:空格也算一位,符號不變.
#include<iostream>
#include<string>
using namespace std;

Int  main()
{
char ch[40]={0},temp[40]={0};
gets(ch);
int i=0,j=0;
while(ch[i]!='\0')
{
if(i%2==0&&ch[i]!=' ') 
{
temp[j++]=ch[i]-32;
i++;
}
else 
{
temp[j++]=ch[i];
i++;
}
}
cout<<ch<<endl;
cout<<temp<<endl;
system("pause");

return 0;
}

3.每個單詞偶數位轉為大寫
例如:
輸入:lanzhihui is a boy!
輸出:lAnZhIhUi iS a bOy!
注意:符號不變.
#include<iostream>
#include<string>
using namespace std;

int main()
{
char ch[40]={0},temp[40]={0};
gets(ch);
int i=0,j=0;
while(ch[i]!='\0')
{
if(ch[i]==' ') 
j++;
if(j%2==0&&ch[i]!=' ')
{
temp[i]=ch[i]-32;
}
else 
{
temp[i]=ch[i];
}
i++;
j++;
}
cout<<ch<<endl;
cout<<temp<<endl;
system("pause");
}

4.字串轉換為double
例如:
輸入:123.456            //char a[10]
輸出:123.456            //double n;
#include<iostream>
#include<string>
using namespace std;

int main()
{
char ch[20];
//double t=123.4565;
//cout<<t<<endl;
double sum=0,num_10=1.0;;int i=0,j=0;
gets(ch);
for(i=0;ch[i]!='.';i++)
sum=ch[i]-'0'+sum*10;
for(j=1;ch[i+j]!='\0';j++)
{
num_10=10.0*num_10;
sum=(ch[i+j]-'0')/num_10+sum;
}
cout<<"輸入"<<ch<<endl;
cout<<"輸出"<<sum<<endl;
system("pause");
return 0;
}

/*5.十進位制轉換為二進位制
輸入:10
輸出:1010
#include<iostream>
#include<string>
using namespace std;


int main()
{
int num,i=0,temp[10];
cin>>num;
while(num!=0)
{
temp[i]=num%2;
num=num/2;
i++;
}
//cout<<"i"<<endl;
for(int k=i-1;k>=0;k--)
cout<<temp[k];
system("pause");
return 0;
}
6.將字串中大寫轉換為小寫,小寫轉換為大寫
輸入:LanzhiHUI
輸出:lANZHIhui

#include<iostream>
#include<string>
using namespace std;

int main()
{
char a[50];
gets(a);
for(int i=0;a[i]!=0;i++)
{
if((a[i]<'a')&&(a[i]!=' '))
a[i]=a[i]+32;
else if((a[i]>='a')&&(a[i]!=' '))
a[i]=a[i]-32;
else if(a[i]==' ')
a[i]=a[i];
}
cout<<a<<endl;
system("pause");
}
7、輸入一個十進位制數轉換為二到九進位制的任意進位制
#include<iostream>
using namespace std;

int main()
{
int num,numsize,temp[30],i=0;
cout<<"輸入該數和進位制數"<<endl;
cin>>num>>numsize;
cout<<num<<endl;
while(num!=0)
{
temp[i]=num%numsize;
num=num/numsize;
i++;
}
//cout<<"i"<<endl;
for(int k=i-1;k>=0;k--)
cout<<temp[k];
system("pause");
}