二.编程实现课本每一个编程习题。
1.
#include<iostream>
using namespace std;
int main()
{
int a[10],*p=a;
cout<<"各元素的值为:"<<endl;
for(int i=0;i<10;i++)
a[i]=2*(i+1);
for(;p<a+10;p++)
cout<<*p<<" ";
cout<<endl;
return 0;
}
2
#include<iostream>
using namespace std;
void lower(char *p)
{
for(;*p!='\0';p++)
if(*p>='A'&&*p<='Z')
*p+='a'-'A';
}
int main()
{
char str[20];
cout<<"请输入大写字符串:"<<endl;
cin.getline(str,20);
lower(str);
cout<<"转换得:"<<endl
<<str<<endl;
return 0;
}
3.
#include<iostream>
using namespace std;
int main()
{
char str1[20],str2[20];
cout<<"请输入字符串:"<<endl;
cin.getline(str1,20);
for(int j=0,i=0;str1[i]!='\0';){
if(str1[i]=' ') i++;
else{str2[j]=str1[i];j++;i++;}}
str2[j]='\0';
cout<<"删除空格后为:"<<endl
<<str2;
return 0;
}
4.
#include<iostream>
using namespace std;
int main()
{
int a;
char *p[12]={"January","February","March","April","May","June","July","August","September","October","November","December"};
for(;;){
cout<<"请输入整数:"<<endl;
cin>>a;
if(a>=1&&a<=12) cout<<p[a-1]<<endl;
else break;}
return 0;
}
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<<"请输入二维数组的元素:"<<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;
}
6.
#include<iostream>
using namespace std;
int main()
{
int a[3][4],max;
cout<<"请输入数组元素"<<endl;
for(int i=0;i<=2;i++)
for(int j=0;j<=3;j++){
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];}
max=a[0][0];
for(i=1;i<=2;i++)
for(int j=1;j<=3;j++){
if(a[i][j]>a[i-1][j-1])
max=a[i][j];
else break;}
cout<<"最大元素为:"<<max<<endl;
return 0;
}
三. 有n个人围成一个圆圈,从第一个人开始报数,从1到3循环,凡是报3的退出圈子,问最后退出圈子的人是原来的几号。
#include<iostream>
using namespace std;
int main()
{
int n;double b;
cout<<"请输入整数n:"<<endl;
cin>>n;
b=n/3;
int a=b;
cout<<"最后退出圈子的人号数为:"<<3*a<<endl;
}
四.一个班有5个学生,每一个学生有几门成绩(到底是几门自已定,或3或4或5或6),定义函数来完成下面功能:
计算第2门课成的平均分;
找出有2门以上成绩不及格的学生,并输出其学号和全部课程成绩;
找出平均成绩在90以上或者全部课程在85分以上的学生。
#include<iostream>
using namespace std;
int a[5][3];
void aver()
{
int i,sum=0,x;
for(i=0;i<=4;i++)
sum=sum+a[i][2];
x=sum/5;
cout<<"第2门课程的平均分为:"<<x<<endl;
}
void fail()
{
int i,j,k=0;
for(i=0;i<=4;i++,k=0)
for(j=0;j<=2;j++){
if(a[i][j]<60) k++;
while(k>=2) {
cout<<"第"<<i+1<<"位学生不合格且其所有成绩如下:"<<endl
<<a[i][0]<<" "<<a[i][1]<<" "<<a[i][2]<<endl;break;}}
}
void exe()
{
int i,j,k=0,sum=0;
for(i=0;i<=4;i++,k=0,sum=0)
for(j=0;j<=2;j++){
sum=sum+a[i][j];
if(a[i][j]>=85) k++;
while(k>=2) {cout<<"第"<<i+1<<"位学生全部课程在85分以上"<<endl;break;}
while(sum>=90*3) {cout<<"第"<<i+1<<"位学生平均成绩在90以上"<<endl;break;}}
}
int main()
{
int i,j;
for(i=0;i<=4;i++)
for(j=0;j<=2;j++){
cout<<"请输入第"<<i+1<<"位学生的第"<<j+1<<"门成绩:";
cin>>a[i][j];}
aver();
fail();
exe();
return 0;
}
写完这个表示已经崩溃