第四章作业
2014-04-16 14:23
127 查看
例题4.8
例题4.9
例题4,。10
例题4.11
习题1
习题2
老师,不知道为什么结果不对
请输入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
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
#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