例题
#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; }