1、使用cout完成输出斐波那契前20项的内容,1 1 2 3 5 8 13......
#include <iostream>
using namespace std;
//功能:斐波那契
int main()
{
int i;
int a[20]; //定义斐波那契数组
a[0]=1,a[1]=1;
for(i=2;i<20;i++)
{
if(a[i]=a[i-1]+a[i-2])
{
cout<<a[i]<<" "; //每个数间隔空格
}
}
return 0;
}
效果图:
2、提示并输入一个字符,判断该字符值,如果是大写字母,转变成小写字母输出,如果是小写字母转变成大写字母输出,如果是数字字符,输出对应的整数数字,如果是其他字符,则输出‘*’;
# include <iostream>
//#表明这是预处理指令
//include:表明该预处理指令是文件包含指令,相当于将后面的文件在该处展开
using namespace std;
int main() //主函数入口
{
while(1)
{
char a;
cout<<"请输入一个字符:";
cin>>a;
//判断
if(a>='a'&&a<='z') //输入小写字母
{
a-=32;
cout<<"这是小写字母,转变为大写字母为:"<<a<<endl;
}
else if(a>='A'&&a<='Z') //输入大写字母
{
a+=32;
cout<<"这是大写字母,转变为小写字母为:"<<a<<endl;
}
else if(a>='0'&&a<='9')
{
int num=a-'0';
cout<<"这是数字字符,转变为整数字符:"<<num<<endl;
}
else //输入其他字符
{
cout<<"*"<<endl;
}
}
return 0;
}
3、字符串的输入输出
1> 如果字符串中没有回车、空格、tab键,则可以直接使用cin完成
2> 如果有空格的输入,需要使用全局函数getline来完成
#include <iostream>
using namespace std;
int main()
{
string s1;
cout<<"请输入一个字符串:";
//cin>>s1; //该输入不能输入空格
getline(cin, s1); //可以输入空格
//参数1:输入流对象
//参数2:输入后字符串的容器
cout<<"s1 = "<<s1<<endl;
return 0;
}
练习:提示并输入一个字符串,统计该字符串中的大小字母个数、小写字母个数、数字个数、空格个数、其他字符个数并输出
#include <iostream>
using namespace std;
int main()
{
string s1;
cout<<"请输入一个字符串:";
getline(cin,s1);
cout<<"s1="<<s1.size()<<endl;
unsigned int i;
int count1=0,count2=0,count3=0,count4=0,count5=0;
for( i=0;i<s1.size();i++)
{
if(s1.at(i)==' ') //判断空格
{
count1++;
}else if(s1.at(i)>='A'&&s1.at(i)<='Z') //判断大写
{
count2++;
}else if(s1.at(i)>='a'&&s1.at(i)<='z') //判断小写
{
count3++;
}else if(s1.at(i)>='0'&&s1.at(i)<='9') //判断数字字符
{
count4++;
}else
{
count5++;
}
}
cout<<"空格个数:"<<count1<<endl;
cout<<"大写字母个数:"<<count2<<endl;
cout<<"小写字母个数:"<<count3<<endl;
cout<<"数字字符个数:"<<count4<<endl;
cout<<"其他字符个数:"<<count5<<endl;
return 0;
}
4.C风格字符串与C++风格字符串互相转换
1> C语言风格的字符串可以无条件转换为C++风格字符串
2> C++风格字符串向C语言风格字符串转换时,需要调用其成员函数c_str()或者data()
#include <iostream>
#include<cstring>
using namespace std;
int main()
{
char s1[20]="i love china";
string s2 = "hello";
string s3="world";
s2 = s1; //C语言风格向c++风格字符串转换
cout<<"s2 = "<<s2<<endl; //i love china
//s1 = s2; // error C++风格字符串不能直接转换为C风格字符串
strcpy(s1, s3.c_str());
cout<<"s1 = "<<s1<<endl; //world
strcpy(s1, s3.data());
cout<<"s1 = "<<s1<<endl; //world
return 0;
}
5、思维导图