例题4.8
#include <iostream>
using namespace std;
int main()
{
char str[50];
cout<<"please input strings:";
cin.get(str,50); //默认结束符为Enter键
cout<<"the string is:";
cout<<str<<endl;
return 0;
}
例题4.9
#include <iostream>
using namespace std;
int main()
{
char str[100];
cout<<"please input strings:";
cin.get(str,100); //默认结束符为Enter键
cout<<"字符串"<<str<<"的反向字符串为:"; //strlen()为求字符串长度函数
for(int i=strlen(str)-1;i>=0;i--)
cout<<str[i];
cout<<str<<endl;
return 0;
}
例题4,。10
#include <iostream>
using namespace std;
int main()
{
char s[]="this is programming test.";
int i=0,plen=0,maxlen=0,pseat=0;
while(s[i]!='\0')
{
while(s[i]!=' '&&s[i]!='\0')
{
plen++;
i++;
}
if(plen>maxlen)
{
pseat=i-plen;
maxlen=plen;
}
while(s[i]==' ')
i++;
plen=0;
}
cout<<"最长的单词为:";
for(i=0;i<maxlen;i++)
cout<<s[pseat+i];
cout<<endl;
return 0;
}
例题4.11
{
char str[50];
cout<<"please input a string:";
cin.get(str,50);
cout<<"the length of string "<<str<<"is"<<strlen(str)<<endl;
return 0;
}
习题1
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int a[5];
int i,j,t;
cout<<"please input 5 numbers:"<<endl;
for(i=0;i<5;i++) //给所有数组元素赋初始值
cin>>a[i]; //输入数值
cout<<"the numbers are:";
for(i=0;i<5;i++) //显示所有数组元素
cout<<setw(4)<<a[i]; //元素间的宽度
cout<<endl;
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if(a[j]>a[j+1]) //比较两个数组
{t=a[j];a[j]=a[j+1];a[j+1]=t;} //将数组重新排列,从大到小
cout<<"the sorted numbers are :";
for(i=0;i<5;i++) //显示所有新数组元素
cout<<setw(4)<<a[i]; //新数组元素之间的宽度
cout<<endl;
return 0;
}
习题2
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int i,j,max;
int a[2][3];
cout<<"请输入2行三列的二维数组:";
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<<"]="<<a[i][j]<<endl; //显示数组的下标
cout<<endl;
}
cout<<endl;
max=a[0][0];
for(i=0;i<2;i++)
for(j=0;j<3;j++)
{
if(a[i][j]>max)
max=a[i][j];
}
for(i=0;i<2;i++)
for(j=0;j<3;j++)
{
if(max=a[i][j])
cout<<"最大项a["<<i<<"]["<<j<<"]="<<a[i][j]<<endl;
cout<<endl;
}
return 0;
}
老师,不知道为什么结果不对
请输入2行三列的二维数组:23 12 45 78 87 56
所有数组:
a[0][0]=23
a[0][1]=12
a[0][2]=45
a[1][0]=78
a[1][1]=87
a[1][2]=56
最大项a[0][0]=23
最大项a[0][1]=12
最大项a[0][2]=45
最大项a[1][0]=78
最大项a[1][1]=87
最大项a[1][2]=56
Press any key to continue
为什么会出现全都是最大项
习题3
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int i,sanweishucount=0;
int a[20]={1,1};
for(i=2;i<20;i++)
a[i]=a[i-2]+a[i-1];
for(i=2;i<20;i++)
{
if(i%4==0)
cout<<endl;
cout<<setw(12)<<a[i-1];
}
for(i=2;i<20;i++)
if(a[i]>99&&a[i]<1000)
sanweishucount++;
cout<<"三位数共有:"<<sanweishucount<<endl;
cout<<"输出数列中第16项数据"<<a[15]<<endl;
return 0;
}
1 2
3 5 8 13
21 34 55 89
144 233 377 610
987 1597 2584 4181三位数共有:5
输出数列中第16项数据987
Press any key to continue
习题4