第九周任务



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

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

编写程序,将10个整型数2461820赋予一个数组,然后使用指针输出显示该数组各元素的值

#include<iostream.h>
#include<iomanip.h>
void main()
{
	int a[10],*p;
    for(int i=0;i<10;i++)
		a[i]=2*(i+1);
	for(p=a;p<a+10;p++)
		cout<<setw(3)<<*p;
	cout<<endl;
}
把键盘输入的一个大写字符串改为小写字符串并显示出来 , 其中大小写转换用函数 lower ()实现

#include<iostream.h>
void lower(char *c);
void main ( )
{
	char str;
	cout << "Enter character:" << endl;
	cin >> str;
	lower(&str);
	cout << "converted character:" << endl;
	cout << str << endl;
}
void lower(char *c)
{
	if (*c >= 'A'&& *c <= 'Z')
	*c += 'a'-'A';
}
输入一个字符串,删除其中的所有空格后输出

#include <iostream> 
#include <string> 
using namespace std;
void main() 
{ 
char str[20]; 
int i,j=0; 
cout<<"输入字符串:"<<endl; 
gets(str); 
for(i=0;i<strlen(str);i++) 
if(str[i]!=' ') 
str[j++]=str[i]; 
str[j]='\0'; 
cout<<str<<endl; 
}

编写程序,当输入整数112(月份号)时,输出该月的英文名称,输入其他整数时结束程序。例如,输入“4”,则输出“April”,输入“0”,则退出程序,要求使用指针数组处理

#include<iostream.h>
void main()
{
	char*p[12]={"January","February","March","April","May","June","July",
                                  "August","September","October","Novermber","December"};
int i;
	cin>>i;
	while(i<=12&&i>=1)
	{
		cout<<p[i-1]<<endl;
	    cin>>i;
	}
	cout<<"error"<<endl;
}
分别使用指针数组和二级指针输入、输出一个二维整型数组

#include<iostream.h>
void main()
{int a[2][3];**p;
int i,j;
pp=a;
for(i=0;i<2;i++)
  for(j=0;j<3;j++)
   pp[i][j]=(i+1)*(j+1);
for(i=0;i<2;i++)
   for(j=0;j<3;j++)
{
 cout<<”a[“<<i<<”][“<<j<<”]:”;
cout<<*(*(pp+i)+j)<<endl;}
}
输入一个3×4的矩阵,写一个函数求其中的最大元素

#include <iostream.h>
void main()
{int a[3][4];
  int i,j;
   for( i=0;i<3;i++)
    for(j=0;j<4;j++)
 cin>>a[i][j];
  cout<<endl;
  int n=a[0][0];
  for( i=0;i<3;i++)
  {
 for(j=0;j<4;j++)
	{if(a[i][j]>n)
		n=a[i][j];}
  }
cout<<n<<endl;
}

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

#include <iostream.h>
void main()
{
	int i,k,m,n,num[50],*p;
	cout<<"input number of person: n="<<endl;
	cin>>n;
	p=num;
	for(i=0;i<n;i++)
		*(p+i)=i+1;
	i=0;
	k=0;
	m=0;
	while(m<n-1)//m是指出局的人数,因为有n个人,最后剩下一个人,所以最多出局(n-1)个人,构成循环
	{
		if(*(p+i)!=0)//判断这个号(原来的序号)是否出局
			k++;//这个号没有出局,就报数,计数器加1
		if(k==3)//报3的出局
		{
			*(p+i)=0;//将出局的这个人标记
			k=0;//使计数器置零,以便后面的人报数
			m++;//出局人数计数器加1
		}
		i++;//将指针后移,虽然i不是指针,但p+i就是指针了,所以i就是为指针服务的
		if(i==n)//如果指针移到了尾部,则返回到头部
			i=0;
	}
	while(*p==0)//用这个可以只判断所找号的前面的号(包括所找号),不用判断后面的。
		p++;
	cout<<"The last one is N0"<<*p<<endl;
}

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

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

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

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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值