您的位置:首页 > 其它

第四章作业

2014-04-16 14:23 127 查看
例题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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: