第四章实验作业
2014-04-14 00:14
375 查看
第四章实验作业
1 课本习题
1 例4.1 数组元素的引用举例/************************************** ** 例题4.1 数组元素的引用推荐 ** ** 自动化1121 李庆典 ** **************************************/ #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++) { cout<<a[i]<<'\t'; if((i+1)%5 ==0) cout<<endl; } return 0; }
例题4.2 输入一个程序计算考试成绩
/************************************** ** 例题4.2 编程计算考试成绩 ** ** 自动化1121 李庆典 ** **************************************/ #include<iostream> //预编译处理命令 using namespace std; //标准名字空间 int main() //主函数 { int i,math[33],n; float aver =0.0; //平均分 int a=0; //不及格人数 int b=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) a++; if(math[i]>=90) b++; } cout<<"平均分为:"<<aver<<endl; cout<<"90分以上的人数为"<<b<<endl; cout<<"不及格的人数为"<<a<<endl; return 0; }
运算结果如图
例题4.3 找出一个数组中最大的元素
/************************************** ** 例题4.3 计算数组中最大的元素 ** ** 自动化1121 李庆典 ** **************************************/ #include<iostream> //预编译处理命令 #include<iomanip> //控制符命令文件调用 using namespace std; //标准名字空间 int main() //主函数 { int a[10],i,max; cout<<"请输入10个数"<<endl; for(i=0;i<10;i++) cin>>a[i]; cout<<"输入的10个数分别为"; for(i=0;i<10;i++) cout<<setw(5)<<a[i]; cout<<endl; max=a[0]; for(i=1;i<10;i++) if(a[i]>=max) max=a[i]; cout<<"这10个数中最大的为"<<max<<endl; return 0; }
例题4.4 练习使用冒泡法
/************************************** ** 例题4.4 练习用冒泡法对数进行排序 ** ** 自动化1121 李庆典 ** **************************************/ #include<iostream> //预编译处理命令 #include<iomanip> //控制符命令文件调用 using namespace std; //标准名字空间 int main() //主函数 { int a[10]; int i,j,t; cout<<"请输入10个数字:"; for(i=0;i<10;i++) cin>>a[i]; //输入数组元素 cout<<"输入的10个数分别为:"; for(i=0;i<10;i++) //输出数组元素 cout<<setw(5)<<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<<"按照大到小排序的数为:" ; //输出排序后的元素 for(i=0;i<10;i++) cout<<setw(5)<<a[i]; cout<<endl; return 0; }
例题4.5 用数组来处理fibonacci数列问题
/************************************** ** 例题4.5 用一维数组来处理fibonacc ** ** 自动化1121 李庆典 ** **************************************/ #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 对二维数组进行赋值 ** ** 自动化1121 李庆典 ** **************************************/ #include<iostream> //预编译处理命令 #include<iomanip> //控制符命令文件调用 using namespace std; //标准名字空间 int main() //主函数 { int i; int 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(5)<<a[i][j]; cout<<endl; } return 0; }
例题4.7
输入一个a[2][3]的值,然后求这个数组中最大的值以及下标,,这是我见过的最坑爹的例题了没有之一,完全跟题目完全不同好不!!完全就是不知道错哪里的文不对题好不!!不吐槽了!!!!最终还是把自己写的程序调试好了 ,刚好符合题目要求就好了
/************************************** ** 二维数组程序举例 ** ** 自动化1121 李庆典 ** **************************************/ #include<iostream> //预编译处理命令 #include<iomanip> //控制命令文件头 using namespace std; //标准名字空间 int main () //主函数 { int i,j; int a[2][3]; for(i=0;i<2;i++) //输入a[i][j] { for(j=0;j<3;j++) { cout<<"a["<<i<<"]["<<j<<"]="; cin>>a[i][j]; } } cout<<"该二维数组为"<<endl; for(i=0;i<2;i++) //显示a[i][j] { for(j=0;j<3;j++) { cout<<setw(5)<<a[i][j]; } cout<<endl; } cout<<endl <<"此二维数组的最大的元素为"; int max =a[2][3] ; int c=2,b=3; for(i=0;i<2;i++) //比较最大的元素 { for(j=0;j<3;j++) { if(max<=a[i][j]) { max=a[i][j]; c=i; b=j; } } }cout<<"a["<<c<<"]["<<b<<"]="<<max; cout<<endl; return 0; }运行结果如下啦
例题4.8 主要是对于数组中的字符串出现空格情况的输入,这里我们运用到了cin.get(a,50,规定的默认结束符),默认为回车,这个输入流函数能够很好的帮我们输入字符数组的赋值,我们还是需要加强练习。
/************************************** ** 输出一个含空格的字符窜 ** ** 自动化1121 李庆典 ** **************************************/ #include<iostream> //预编译处理命令 #include<iomanip> //控制命令文件头 using namespace std; //标准名字空间 int main () //主函数 { char str[50]; cout<<"请输入一个字符窜:"; cin.get(str,50); cout<<"输出结果为:"; cout<<str<<endl; return 0; }
例题 4.9 从键盘读入一个字符串,反向输出每一个字符 这里出现了cstring 函数,用来控制处理数组,如例题中也出现了strlen函数,用来控制输出字符串的长度。
/************************************** ** 输入一个字符串后反向输出 ** ** 自动化1121 李庆典 ** **************************************/ #include<iostream> //预编译处理命令 #include<iomanip> //控制命令文件头 #include<cstring> //字符串处理函数文件头 using namespace std; //标准名字空间 int main () //主函数 { char a[100]; cout<<"请输入一个字符串"<<endl; cin.get(a,100); cout<<"字符串"<<a<<"的反向字符串为:"; for(int i=strlen(a)-1;i>=0;i--) //strlen输出字符串的长度 cout<<a[i]; cout<<endl; return 0; }
例题4.10
输入一个句子后求这个句子中单词最长的那个单词并输出,这里是遇到了两个循环,一个为判断句子的长度,一个为区分每一个单词后记录长度和位置,不过只是记录当前最长的单词的位置与长度,应该可以再优化一下重新计算,改天再去用for或者do-while重新改写一下程序吧
/************************************** ** 找出一句话中最长的单词 ** ** 自动化1121 李庆典 ** **************************************/ #include<iostream> //预编译处理命令 #include<iomanip> //控制命令文件头 #include<cstring> //字符串处理函数文件头 using namespace std; //标准名字空间 int main () //主函数 { char a[100]; cout<<"请输入一句话:"<<endl; cin.get(a,100); int i=0,pl=0,maxpl=0,pset=0; while(a[i]!='\0') //控制结束整个循环 { while(a[i]!=' '&&a[i]!='\0') //区分开每个单词并计算长度 { pl++; i++; } if(pl>maxpl) //判断单词长度是否最长,记录长度与位置 { pset=i-pl; maxpl=pl; } while(a[i]==' ') //跳过空格继续计算下个单词0 i++; pl=0; //对pl的起始赋值 } cout<<"该句子中最长的单词为:"; for(i=0;i<maxpl;i++) cout<<a[pset+i]; cout<<endl; return 0; }
2书里的编程例题
1,在数组中输入几个数并按照大小排序,冒泡法的精髓/************************************** ** 输入几个数并按顺序排列 ** ** 自动化1121 李庆典 ** **************************************/ #include<iostream> //预编译处理命令 #include<iomanip> //控制命令文件头 #include<cstring> //字符串处理函数文件头 using namespace std; //标准名字空间 int main () //主函数 { int a[50],b,i,j,S; cout<<"请输入你要输入的数字的个数(不要超过50个)"<<endl; cin>>b; cout<<"请输入你要输入的所有个数(不要超过"<<b<<"个)"<<endl; for(i=0;i<b;i++) cin>>a[i]; for(i=0;i<4;i++) for(j=0;j<4-i;j++) if(a[j]<a[j+1]) { S=a[j]; a[j]=a[j+1]; a[j+1]=S; } cout<<"从大到小的排列为:"; for(i=0;i<b;i++) cout<<setw(5)<<a[i]; cout<<endl; return 0; }
统计一句话中的各种字符的多少并输出
/************************************** ** 统计一个数组中的大小写字母等 ** ** 自动化1121 李庆典 ** **************************************/ #include<iostream> //预编译处理命令 #include<iomanip> //控制命令文件头 #include<cstring> //字符串处理函数文件头 using namespace std; //标准名字空间 int main () //主函数 { char string[50]; cout<<"请输入一句话:"; cin.getline(string,50); int da=0,xi=0,b=0,c=0,d=0; for(int i=0;string[i]!='\0';i++) if(string[i]>='A'&&string[i]<='Z') da++; else if(string[i]>='a'&&string[i]<='z') xi++; else if(string[i]==' ') b++; else if(string[i]>='0'&&string[i]<='9') c++; else d++; cout<<"大写字符有:"<<da<<"个"<<endl; cout<<"小写字符有:"<<xi<<"个"<<endl; cout<<"数字字符有:"<<c<<"个"<<endl; cout<<"其他字符有:"<<d<<"个"<<endl; cout<<"空格有:"<<b<<"个"<<endl; return 0; }
输入一个字符串,去除数字后输出
/************************************** ** 删除字符串中的数字 ** ** 自动化1121 李庆典 ** **************************************/ #include<iostream> //预编译处理命令 #include<iomanip> //控制命令文件头 #include<cstring> //字符串处理函数文件头 using namespace std; //标准名字空间 int main () //主函数 { char a[100],b[100]; int x=0,y=0; cout<<"请输入一个字符串"<<endl; cin.get(a,100); for(x=0;a[x];x++) { if(a[x]>='0'&&a[x]<='9') continue; b[y]=a[x]; y++; } int z=y-1; cout<<"输出结果为:"; for(y=0;y<=z;y++) cout<<b[y]; cout<<'\t'<<"该字符串长度为"<<z+1 <<endl; return 0; }
其他慢慢更来可好 ?
相关文章推荐
- 第四章实验作业
- C++作业第四章实验4
- 王爽汇编 第四章 第一个程序实验作业
- 第四章作业:4.17:建立一个对象数组,内放6个学生的数据(学号,成绩),用指针向数组首元素,输出第2,4,6个学生的数据。
- C++第7次实验—作业
- C++第七次上级实验作业
- opencv学习(五)书本《学习Opencv》(中文版)第四章的作业答案第一题(opencv3.0.0+VS2012+win7)
- 第四章作业
- 第四章作业
- 操作系统:实验二 作业调度模拟程序
- 2017-2018-1 JAVA实验站 第八周作业
- DLUT C++上机作业(实验四)
- 《操作系统》 先来先服务FCFS和短作业优先SJF进程调度算法相关计算及实验
- 实验二 作业调度
- 实验二 作业模拟调度程序
- 实验二、作业调度模拟程序实验
- c++第四次实验(作业)
- 计科1111-1114班第一次实验作业(NPC问题——回溯算法、聚类分析)
- 2016年3月14日作业第四章:项目管理一般知识
- PHP课程第一次实验作业提交