C++第四章课本例题与习题(第六周)
2014-04-13 00:24
471 查看
例4.1
例4.2
4.3
4.4
4.5
4.6
4.7与4.6基本相同,就不重复了。
4.8
4.9
4.10
4.11
4.12
4.13
习题1
习题2
3.
4
5.
6.
#include<iostream> using namespace std; int main() { int a[10]; int i; for(i=0;i<10;i++) //给所有的数组元素赋初值 a[i]=i*2+2; for(i=0;i<10;i++) //输出所有的数组元素,没行显示5个数组元素 { cout<<a[i]<<'\t'; if((i+1)%5==0) cout<<endl; } return 0; }
例4.2
#include<iostream> using namespace std; int main() { int i,math[40],n; float aver=0.0; //平均分 int unpassedcout = 0; // 不及格学生人数 int highscorecout =0; // 90分以上学生人数 cout<<"请输入学生人数:"; cin>>n; cout<<"请输入学生成绩:"; for(i=0;i<n;i++) { cin>>math[i]; aver+=math[i]; } aver/=n; for(i=0;i<n;i++) { if(math[i]<60) unpassedcout++; if(math[i]>90) highscorecout++; } cout<<"平均分为:"<<aver<<endl; cout<<"90分以上人数为:"<<highscorecout<<endl; cout<<"不及格人数为:"<<unpassedcout<<endl; return 0; }
4.3
#include<iostream> #include<iomanip> using namespace std; int main() { int a[10],i,big; cout<<"please input 10 numbers:\n"; for(i=0;i<10;i++) cin>>a[i]; cout<<"the numbers are:"; for(i=0;i<10;i++) cout<<setw(4)<<a[i]; cout<<endl; big=a[0]; for(i=0;i<10;i++) if(a[i]>big) big=a[i]; cout<<"the big numbers is:"<<big<<endl; return 0; }
4.4
#include<iostream> #include<iomanip> using namespace std; int main() { int a[10]; int i,j,t; cout<<"please input 10 numbers:\n"; for(i=0;i<10;i++) cin>>a[i]; //输入数组元素 cout<<"the numbers are:"; for(i=0;i<10;i++) cout<<setw(4)<<a[i]; cout<<endl; for(i=0;i<9;i++) for(j=0;j<9-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<10;i++) cout<<setw(4)<<a[i]; //输出数组元素 cout<<endl; return 0; }
4.5
#include<iostream> #include<iomanip> using namespace std; int main() { int i; int f[40]={1,1}; for(i=2;i<40;i++) f[i]=f[i-2]+f[i-1]; //将前40个数存入数组 for(i=0;i<40;i++) { if(i%4==0) cout<<endl; cout<<setw(12)<<f[i]; } cout<<endl; return 0; }
4.6
/* 例4.6 from郑天由 */ #include<iostream> #include<iomanip> using namespace std; int main() { int i,j; int a[5][5]; for(i=0;i<5;i++) { for(j=0;j<5;j++) { if(i%2==0) a[i][j]=i*5+j+1; else a[i][4-j]=i*5+j+1; } } for(i=0;i<5;i++) { for(j=0;j<5;j++) cout<<setw(4)<<a[i][j]; cout<<endl; } return 0; }
4.7与4.6基本相同,就不重复了。
4.8
#include<iostream> using namespace std; int main() { char str[50]; cout<<"Please input strings:"; cin.get(str,50); //默认结束符是Enter cout<<"The strings is:"; cout<<str<<endl; return 0; }
4.9
/*例4.9*/ #include<iostream> #include<cstring> using namespace std; int main() { char str[100]; cout<<"请输入一个字符串:"; cin.get(str,100); cout<<"字符串"<<str<<"的反向字符串为:"; for(int i=strlen(str)-1;i>=0;i--) //strlen()为求字符串长度函数 cout<<str[i]; cout<<endl; return 0; }
4.10
/* li4.10 */ #include <iostream> using namespace std; int main() { char s[]="This is C programming test."; int i=0,pLen=0,maxpLen = 0, pSeat = 0; while(s[i]!='\0') { while(s[i]!=' '&&s[i]!='\0') //qubiedancibingjisuanchangdu { pLen++; i++; } if(pLen>maxpLen) //jilui最长单词的位置与长度 { pSeat=i-pLen; maxpLen=pLen; } while(s[i]==' ') i++; pLen=0; //为计算下一个单词长度赋初值 } cout <<"最长的单词 :"; for(i=0;i<maxpLen;i++) cout << s[pSeat+i]; cout <<endl; return 0; }
4.11
/*例4.11*/ #include<iostream> #include<iomanip> using namespace std; int main() { char str[50]; cout<<"Please input a string:"; cin.get(str,50); cout<<"The length of string"<<str<<"is"<<strlen(str)<<endl; return 0; }
4.12
/*例4.12 by 郑天由 */ #include<iostream> #include<cstring> using namespace std; int main() { char str[10]; cout<<"请输入字符串,直到输入 hello 后程序结束:"<<endl; do{ cin>>str; }while(strcmp(str,"hello")!=0); return 0; }
4.13
#include<iostream> using namespace std; int main() { char str[50]; int len=0; cout<<"请输入一个字符串:"; cin.get(str,50); while(str[len] !='\0') len++; cout<<"字符串"<<str<<"的长度"<<len<<endl; return 0; } //编写一个程序mystrlen.cpp,yonglai计算字符串的长度
习题1
//习题1 #include<iostream> #include<iomanip> using namespace std; int main() { int i,j,t; int str[5]; cout<<"请输入五个数:"<<endl; for(i=0;i<5;i++) cin>>str[i]; cout<<"这五个数的从小到大的顺序是:"<<endl; for(i=0;i<4;i++) for(j=0;j<4-i;j++) if(str[j]>str[j+1]) {t=str[j];str[j]=str[j+1];str[j+1]=t;} for(i=0;i<5;i++) cout<<str[i]<<setw(4); cout<<endl; return 0; }
习题2
#include<iostream> #include<iomanip> using namespace std; int main() { int a[2][3]; int i,j,big; cout<<"请输入二行三列二维数组的元素值:"<<endl; for(i=0;i<2;i++) for(j=0;j<3;j++) { cout<<"a["<<i<<"]"<<"["<<j<<"]="; cin>>a[i][j]; } cout<<"该二维数组为:"; for(i=0;i<2;i++) for(j=0;j<3;j++) { if(j%3==0) cout<<endl; cout<<setw(4)<<a[i][j]; } cout<<endl; big=a[0][0]; for(i=0;i<2;i++) for(j=0;j<3;j++) if(a[i][j]>=big) big=a[i][j]; for(i=0;i<2;i++) for(j=0;j<3;j++) if(a[i][j]==big) cout<<"该数组中最大元素为:"<<"a["<<i<<"]"<<"["<<j<<"]="<<a[i][j]<<endl; }
3.
#include<iostream> using namespace std; int function(int n); int main() { int i,count; count=0; for(i=1;i<=20;i++) { cout<<function(i)<<" "; cout<<endl; if(function(i)>=100&&function(i)<=999) count++; } cout<<"Fibonacci数列前20个数中的三位数个数为:"<<count<<endl; cout<<"该数列第16项数据是:"<<function(16)<<endl; return 0; } int function(int n) { if(n==1||n==2)return 1; else return function(n-1)+function(n-2); }
4
#include<iostream> #include<iomanip> using namespace std; int main() { char a[100]; int i,xiaoxue=0,shuzi=0,daxue=0,kongge=0,qita=0; cout<<"请输入一行字符小于100的文字:"; cin.get(a,100); for(i=0;i<100;i++) { if(a[i]>='a'&&a[i]<='z') xiaoxue++; else if (a[i]>='0'&&a[i]<='9') //因为a被定义为char,,所以应该写成'0' '9' shuzi++; else if (a[i]>='A'&&a[i]<='Z') daxue++; else if (a[i]==' ') kongge++; else if (a[i]=='\0') qita=strlen(a)-(shuzi+xiaoxue+daxue+kongge); } cout<<"数字个数为:"<<shuzi<<endl; cout<<"小写字母个数为:"<<xiaoxue<<endl; cout<<"大写字母个数为:"<<daxue<<endl; cout<<"空格个数为:"<<kongge<<endl; cout<<"其他字符个数为:"<<qita<<endl; return 0; }
5.
#include<iostream> using namespace std; int main() { char a[100]; int i; cout<<"输入一字符串:"<<endl; cin.get(a,100); cout<<"反向输出每一个字符:"<<endl; for(i=strlen(a);i>0;i--) cout<<a[i-1]; cout<<"该字符串长度为:"<<strlen(a)<<endl; return 0; }
6.
#include<iostream> using namespace std; int main() { int i,b,shuzi; shuzi=0; b=0; char a[100]; cout<<"输入一个字符串:"<<endl; cin.get(a,100); cout<<"删除了所有数字后的字符串为:"<<endl; for(i=0;i<100;i++) if(a[i]=='\0') break; else if(a[i]>='0'&&a[i]<='9') shuzi++; else cout<<a[i]; cout<<"该字符串的长度为:"<<strlen(a)-shuzi<<endl; return 0; }
相关文章推荐
- 算法竞赛入门经典(第二版)-刘汝佳-第四章 函数与递归 例题+习题(15/16)
- 结构体数组应用,C++课本P209页例题7.2,投票选举情况
- C++ 第四章课后习题作业
- C++第四章习题
- c++ primer plus第四章习题答案
- C++第四章 习题
- 谭浩强版C++课本实例 第四章 运算符重载
- C++ primer plus 第四章课后习题
- C++Primer Plus笔记——第四章 复合类型及课后习题答案
- C++Primer第五版 第四章习题答案(11~20)
- C++ primerplus 第12章课本上例题
- 第六周作业(课本例题)
- C++程序设计课后习题及解答(第四章)
- 第六周作业(课本例题)
- C++ Primer Plus 课后习题 第四章
- 全国计算机等级二级C++第四章习题编程题6 :编写一个函数 char *strfind(char *s, char *t),用于查找字符串t在字符串s中最右边出现的位置,如果没有找到则返回NULL.
- C++程序设计课本习题
- C++课本例题(派生类的构造函数)
- Python课本第四章课后习题选做
- C++对象模型——Inline Functions(第四章)