第九周作业
2014-06-13 08:44
316 查看
/*********************** 用指针输出10个整形数 ***********************/ #include<iostream> #include<iomanip> using namespace std; int main() { int a[10]={2,4,6,8,10,12,14,16,18,20}; int *p; p=a; for(;p<a+10;p++) cout<<setw(4)<<*p; cout<<endl; return 0; }
/*********************** 输出对应年份 ***********************/ #include<iostream> using namespace std; int main() { char *yearname[]={"January","February","March","April","May","June","July","August","September","October","November","December"}; int i; while(1) { cout<<"please input year NO.:"; cin>>i; if(i<0||i>12) break; cout<<"year NO"<<i<<"----"<<yearname[i-1]<<endl; } return 0; }
/*********************** **大写字符串转换成小写** ***********************/ #include<iostream> using namespace std; void lower(char*c); int main() { char s[50]; cout<<"please input a string:"; cin.get(s,50); lower(s); cout<<endl; return 0; } void lower(char*c) { for(;*c!='\0';*c++) if(*c>='A'&&*c<='Z') { *c+='a'-'A'; cout<<*c; } }
/*********************** ** 删除字符串空格输出 ** ***********************/ #include<iostream> using namespace std; void lower(char*c); int main() { char s[50]; cout<<"please input a string:"; cin.get(s,50); lower(s); cout<<endl; return 0; } void lower(char*c) { for(;*c!='\0';*c++) if(*c!=' ') { cout<<*c; } }
/*********************** 用指针数组输入输出 一个二维整形数组 ***********************/ #include<iostream> using namespace std; int main() { int a[2][3]; int (*p)[3]; int i,j; p=a; cout<<"请给a[2][3]赋值:"<<endl; for(i=0;i<2;i++) for(j=0;j<3;j++) cin>>a[i][j]; for(i=0;i<2;i++) for(j=0;j<3;j++) { cout<<"a["<<i<<"]["<<j<<"]:"; cout<<(*p)[j]<<endl; } p++; cout<<endl; return 0; }
/*********************** 用二级数组输入输出 一个二维整形数组 ***********************/ #include<iostream> using namespace std; int main() { int a[2][3]; int *p[2],**pp; int i,j; p[0]=&a[0][0]; p[1]=&a[1][0]; pp=p; cout<<"请给a[2][3]赋值:"<<endl; for(i=0;i<2;i++) for(j=0;j<3;j++) cin>>a[i][j]; for(i=0;i<2;i++) for(j=0;j<3;j++) { cout<<"a["<<i<<"]["<<j<<"]:"; cout<<*(*(pp+i)+j)<<endl; } cout<<endl; return 0; }
/*********************** 输入一个[3][4]矩阵 输出最大元素 ***********************/ #include<iostream> using namespace std; int main() { int a[3][4]; int b[12]; int (*p)[4]; int i,j,k=0,big; p=a; cout<<"请给a[3][4]赋值:"<<endl; for(i=0;i<3;i++) for(j=0;j<4;j++) cin>>a[i][j]; for(i=0;i<3;i++) { for(j=0;j<4;j++) { b[k]=(*p)[j]; k++; } p++; } big=b[0]; for(k=1;k<12;k++) if(b[k]>big) big=b[k]; cout<<"矩阵[3][4]中最大元素为:"<<big<<endl; return 0; }
/*********************** 计算第2门课成的平均分请------------输入1 有2门以上成绩不及格的学生,并输出其学号和全部课程成绩----输入2 平均成绩在90以上或者全部课程在85分以上的学生------请输入3 ***********************/ #include<iostream> #include<iomanip> using namespace std; double mode0(int); void mode1(); void mode2(); void mode3(); int a[3][5]={80,55,47,92,96,75,59,56,80,92,72,52,61,85,95}; int (*p)[5]; int i=0,j=0; int main() { int c; p=a; cout<<"请输入:"<<endl; cin>>c; switch(c) { case 1:mode1();break; case 2:mode2();break; case 3:mode3();break; } return 0; } double mode0(int x) { for(int b=0;i<3;i++) b+=(*(p+i))[x]; return b/3.0; } void mode1() { for(int b=0;j<5;j++) b+=(*(p+1))[j]; cout<<"第二门课程平均分为:"<<b/5.0<<endl; } void mode2() { int z; for(j=0;j<5;j++) { for(i=0,z=0;i<3;i++) if((*(p+i))[j]<60) z++; if(z>=2) {cout<<"学号为:"<<j<<endl; for(i=0;i<3;i++) cout<<"第"<<i+1<<"科成绩为:"<<(*(p+i))[j]<<endl; } } } void mode3() { int z,y; cout<<"全部课程在85分以上的学生的学号有:"; for(j=0;j<5;j++) { for(i=0,z=0;i<3;i++) if((*(p+i))[j]>85) z++; if(z==3) cout<<setw(3)<<j<<endl; } cout<<endl; cout<<"全部课程平均分在90分以上的学生的学号有:"; for(j=0;j<5;j++) if(mode0(j)>90) cout<<setw(3)<<j; } cout<<endl; }