课本练习
练习一
/*******利用指针输出各元素的值*******/
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a[10],*p;
p=a;
for(int i=0;i<10;i++)
*(p+i)=i*2+2;
cout<<"这十个数为: ";
for(i=0;i<10;i++)
{
cout<<setw(4)<<*p;
p++;
}
cout<<endl;
return 0;
}
练习二
/*****将大写字母改为小写字母*****/
#include<iostream>
using namespace std;
void lower(char *zimu);
int main()
{
char str[50];
cout<<"请输入大写字符串:";
cin.get(str,50);
lower(str);
cout<<"字符串的小写形式为:"<<str<<endl;
return 0;
}
void lower(char *zimu)
{
for(;*zimu!='\0';zimu++)
if(*zimu>='A'&&*zimu<='z')
*zimu+='a'-'A';
}
问题:为什么输入小写就不能输出了呢,加入else也不可以,应该怎么改,还有,如果要有返回值就得把void改成char是吧?????
练习三
/******去除字母串的空格*****/
#include<iostream>
using namespace std;
int main()
{
char str[50],suo[40],*p=str,*q=suo;
cout<<"请输入一串字符: ";
cin.getline(str,50);
for(;*p!='\0';p++)
{
if(*p!=' ')
{
*q=*p;
q++;
}
}
*q='\0';
cout<<"除去空格后的字符串为:";
cout<<suo<<endl;
return 0;
}
/******输出月份的英文格式,使用的是switch语句,************
******虽然是麻烦一点,但思路简单,也挺久没用了,练练手******/
#include<iostream>
using namespace std;
int main()
{
char*month[]={"January","February","March","April","May","June","July","August","September","October","Nouermber","December"};
int i;
cout<<"请输入你要查询的月份:";
cin>>i;
switch(i)
{
case 1:cout<<"一月的大写为 "<<month[0]<<endl;break;
case 2:cout<<"二月的大写为 "<<month[1]<<endl;break;
case 3:cout<<"三月的大写为 "<<month[2]<<endl;break;
case 4:cout<<"四月的大写为 "<<month[3]<<endl;break;
case 5:cout<<"五月的大写为 "<<month[4]<<endl;break;
case 6:cout<<"六月的大写为 "<<month[5]<<endl;break;
case 7:cout<<"七月的大写为 "<<month[6]<<endl;break;
case 8:cout<<"八月的大写为 "<<month[7]<<endl;break;
case 9:cout<<"九月的大写为 "<<month[8]<<endl;break;
case 10:cout<<"十月的大写为 "<<month[9]<<endl;break;
case 11:cout<<"十一月的大写为 "<<month[10]<<endl;break;
case 12:cout<<"十二月的大写为 "<<month[11]<<endl;break;
default:cout<<"输入有误,请重新输入"<<endl;
}
return 0;
}
这个貌似和习题要求不太符合,但是习题要求的那个课本已经有了,所以就不多写了,哈...
练习五课本有了,忽略...
练习六
/*******求3*4矩阵的最大值******/
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a[3][4],i,j,max,(*p)[4];
p=a;
cout<<"请输入矩阵的数:"<<endl;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
cin>>a[i][j];
cout<<"3*4矩阵的值为: "<<endl;
for(i=0;i<3;i++)
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
cout<<setw(4)<<a[i][j];
cout<<endl;
}
max=(*p)[0];
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
if(a[i][j]>max)
max=a[i][j];
p++;
}
cout<<"矩阵的最大值为: "<<max<<endl;
return 0;
}