您的位置:首页 > 其它

第九周作业

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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: