第九周c++作业

来源:互联网 发布:java打包成jar包 cmd 编辑:程序博客网 时间:2024/06/05 22:33
  •  实验作业

1.调试分析课本每一个例题,有可能的话更改成2-3个方法的新程序;

2.编程实现课本每一个编程习题。

2.1

#include <iostream>using namespace std;int main(){int a[10],*p = a;for(int i=0;i<10;i++)a[i]=2*(i+1);for(;p<a+10;p++)cout<<*p<<" ";cout<<endl;return 0;}
程序运行结果


2.2

#include <iostream>using namespace std;void lower(char *);int main(){char str[20];cout<<"请输入一个大写字符串:";cin.getline(str,20);lower(str);cout<<"转换的字符串为:"<<str<<endl;return 0;}void lower(char *p){for(;*p!='\0';p++)if(*p>='A'&&*p<='Z')*p+='a'-'A';}
程序运行结果


2.3

#include <iostream>using namespace std;int main(){char source[30],dest[30],*p=source,*q=dest;cout<<"请输入一字符串:"<<endl;cin.getline(source,30);while(*p)if(*p==' ')   p++;else{*q=*p;p++;q++;}*q='\0';cout<<"删除空格后的字符串为:"<<endl;cout<<dest<<endl;return 0;}
程序运行结果


2.4

#include <iostream>using namespace std;int main(){char *month[]={"January","February","March","April","May","June","July","August","September","October","Novermber","December"};int i;while(1){cout<<"请输入月份:";cin>>i;if(i<1||i>12){cout<<"输入错误!"<<endl;break;}cout<<i<<"月的英文名称是:"<<month[i-1]<<endl;}return 0;}
程序运行结果


2.5

#include <iostream>using namespace std;int main(){int a[2][3],*p[2],i,j;p[0]=a[0];p[1]=a[1];cout<<"请输入二维数组的6个元素值:"<<endl;for(i=0;i<2;i++)for(j=0;j<3;j++)cin>>p[i][j];cout<<"该二维数组的数据为:"<<endl;for(i=0;i<2;i++){for(j=0;j<3;j++)cout<<p[i][j]<<'\t';cout<<endl;}return 0;}
程序运行结果


2.6

#include <iostream>using namespace std;int max(int *,int);int main(){int a[3][4],i,j,maxValue;cout<<"请输入3*4矩阵的元素值:"<<endl;for(i=0;i<3;i++)for(j=0;j<4;j++)cin>>a[i][j];maxValue=max(&a[0][0],12);cout<<"矩阵中最大的元素为:"<<maxValue<<endl;return 0;}int max(int * p,int n){int maxValue= * p;for(int i=0;i<n;i++)if(p[i]>maxValue)maxValue=p[i];return maxValue;}
程序运行结果


3. 有n个人围成一个圆圈,从第一个人开始报数,从1到3循环,凡是报3的退出圈子,问最后退出圈子的人是原来的几号。

#include<iostream>using namespace std;int main(){int n;cout<<"请先决定要多少个人参加"<<endl;cin>>n;int a[100];int *p=a;for(int i=0;i<n;i++)a[i]=1;int m=n,j=0;while(m>1) //m是人数。当人数减到为1时,显示出结果{if(*p!=0){j++;}if(j==3){*p=0;j=0;m--;}if(p==&a[n-1])p=a;elsep++;}for(i=0;i<n;i++)if(a[i]==1)cout<<"最后留下的人原来排在第"<<i+1<<"号"<<endl;return 0;}
程序运行结果


4.一个班有5个学生,每一个学生有几门成绩(到底是几门自已定,或3或4或5或6),定义函数来完成下面功能:

    计算第2门课成的平均分;

    找出有2门以上成绩不及格的学生,并输出其学号和全部课程成绩;

    找出平均成绩在90以上或者全部课程在85分以上的学生。


0 0