第八章 指针函数练习题

每个题目后面有更正后的代码(有提示更正),前面代码是自己写的,不是很准确,请参考更正后的内容

1. 将n个整数按输入顺序的逆序排列,要求应用带指针参数的函数实现

代码:

#include<iostream>

using namespace std;
#define N 100
int tip(int num);
void addArray(int arr[], int size);
void reOrder(int *p, int num);

int main()
{
   
	int n = 0;
	int array[N] = {
   '\0'};
	n = tip(n);
	addArray(array,n);
	reOrder(array,n);

	return 0;
}
//输入提示
int tip(int num)
{
   
	cout<<"请输入需要倒序整数n:  ";
	cin>>num;
	if(num<0)
	{
   
		cout<<"你输入的n值小于0 \n";
		return 0;
	}
	else if(num > 100)
	{
   
		cout<<"你输入的n值大于数组的容量 \n";
		return 0;
	}
	else
	{
   
		cout<<"你要为 "<<num<<" 个整数排序"<<endl;
		return num;		
	}
}
//对数组输入值并打印输入的整数
void addArray(int arr[], int size)
{
   
	cout<<"请输入要倒序输出的整数: ";
	int i=0;
	for(i; i<size; i++)
	{
   
		cin>>arr[i];
	}
	cout<<"需要倒序输出的整数: ";
	for(i=0; i<size; i++)
	{
   
		cout<<arr[i]<<"  ";
	}
	cout<<endl;
}
//对整数进行倒序排列并输出

void reOrder(int arr[], int num)
{
   
	cout<<"倒序输出的整数: ";
	int i=0;
	for(i = num-1; i>=0; i--)
	{
   
		cout<<arr[i]<<"  ";
	}
	cout<<endl;
}

运行结果:
在这里插入图片描述

更正:

#include<iostream>

using namespace std;
void inverse(int *p, int n)
{
   
	int *q=p+n-1;				//指针变量q指向数组最后一个元素
	int t;
	while (p<q)
	{
   
		t = *p; *p = *q; *q=t;  //交换*p与*q
		p++;q--;				//移动指针变量
	}
}
int main()
{
   
	int a[10] = {
   1,2,3,4,5,6,7,8,9,10};
	inverse(a,10);
	for(int i=0; i<10; i++)
		cout<<a[i]<<"\t";
	cout<<endl;

	return 0;
}

更正运行结果:
在这里插入图片描述

2.编程输入一行文字,找出其中的大写字母、小写字母、空格、数字以及其他字符各有多少
代码:

#include <iostream>
#include<string>

using namespace std;
#define M 100     //预内编译命令容没分号 
void number(char array[]);

int main()
{
   
	char array[M] = {
   '\0'};
	number(array);

	return 0;
  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值