例题
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char s[]="this is C programming test.";
int i=0,j,k=0,plen=0,maxlen=0,pseat=0;
while(s[k]!='\0')
k++;
cout<<s<<"的字符串长度为 "<<k<<endl;
while(s[i])
{
while(s[i]!=' '&&s[i])
{
plen++;
i++;
}
if(plen>maxlen)
{
pseat=i-plen;
maxlen=plen;
}
if(s[i]==' ')
i++;
plen=0;
}
cout<<"最长的单词为 ";
for(i=0;i<maxlen;i++)
cout<<s[pseat+i];
cout<<endl;
cout<<s<<"的反向字符为 ";
for(j=strlen(s)-1;j>=0;j--)
cout<<s[j];
cout<<endl;
return 0;
}
练习题1
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int i,j,t,a[5],x,min;
cout<<"请输入五个数";
for(i=0;i<5;i++)
cin>>a[i];
cout<<"这五个数是";
for(i=0;i<5;i++)
cout<<setw(6)<<a[i];
cout<<endl;
jixu:
cout<<"请选择1(冒泡法从大到)小或其它(排序法从小到大)继续";
cin>>x;
if(x==1)
{
cout<<"此为冒泡法"<<endl;
for(i=0;i<5;i++)
for(j=0;j<5-i;j++)
if(a[j]<a[j+1])
{t=a[j+1];a[j+1]=a[j];a[j]=t;}
cout<<"这五个数从大到小排列为 ";
for(i=0;i<5;i++)
cout<<setw(6)<<a[i];
cout<<endl;
}
else
{
cout<<"此为排序法"<<endl;
for(i=0;i<4;i++)
{
min=i;
for(j=i+1;j<5;j++)
if(a[j]<a[min])
min=j;
if(min!=i)
{t=a[i];a[i]=a[min];a[min]=t;}
}
cout<<"这五个数从小到大排列为 ";
for(i=0;i<5;i++)
cout<<setw(6)<<a[i];
cout<<endl;
}
goto jixu;
return 0;
}
练习题2
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int i,j,a[2][3],big,c=0,d=0;
cout<<"请输入六个数组元素"<<endl;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
cin>>a[i][j];
cout<<"输入的六个数组元素为 "<<endl;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
cout<<a[i][j]<<'\t';
cout<<endl;
}
big=a[0][0];
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
if(big<a[i][j])
{
big=a[i][j];
c=i,d=j;
}
}
cout<<"最大的元素为 a["<<c<<"]["<<d<<"]="<<big<<endl;
return 0;
}
练习题3
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int f[20]={1,1},i,k=0;
for(i=2;i<20;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<20;i++)
{
cout<<setw(8)<<f[i];
if((i+1)%4==0)
cout<<endl;
if(f[i]>+100&&f[i]<=999)
k++;
}
cout<<"三位数的个数为 "<<k<<endl;
cout<<"第16个数为 "<<f[15]<<endl;
return 0;
}
练习题4
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
char string[100];
cout<<"请输入一个字符串 ";
cin.get(string,100);
int zimu=0,daxie=0,xiaoxie=0,kongge=0,shuzi=0,qita=0;
for(int i=0;string[i]!='\0';i++)
{
if(string[i]>='A'&&string[i]<='Z') daxie++;
else if(string[i]>='a'&&string[i]<='z') xiaoxie++;
else if(string[i]==' ') kongge++;
else if(string[i]>='0'&&string[i]<='9') shuzi++;
else qita++;
}
cout<<"大写字母的个数为 "<<daxie<<endl;
cout<<"小写字母的个数为 "<<xiaoxie<<endl;
cout<<"空格的个数为 "<<kongge<<endl;
cout<<"数字的个数为 "<<shuzi<<endl;
cout<<"其他的个数为 "<<qita<<endl;
return 0;
}
练习题5
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str[50];
int i;
cout<<"请输入一个字符串:";
cin.get(str,50);
cout<<"字符串"<<str<<"的长度为:"<<strlen(str)<<endl;
cout<<"字符串"<<str<<"的反向字符为: ";
for(i=strlen(str)-1;i>=0;i--)
cout<<str[i];
cout<<endl;
return 0;
}
练习题6
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char s1[50],s2[50];
int i,j=0;
cout<<"请输入一组字符 ";
cin.get(s1,50);
for(i=0;i<=strlen(s1)-1;i++)
{
if(s1[i]>='0'&&s1[i]<='9')
continue;
s2[j]=s1[i];
j++;
}
s2[j]='\0';
cout<<"删除后的字符为 "<<s2<<endl;
cout<<"其长度为 "<<j<<endl;
return 0;
}