C++ | 指针 | 实验七

项目1 指针返回绝对值
#include <iostream>
using namespace std;
int abs(int a, int *i);
int main()
{
	int a,i;
	cin >> a;
	abs(a, &i);    
	cout << i<<endl;
	system("pause");
	return 0;
}
int abs(int a, int *i)
{
	if (a > 0)
		*i = a;
	else
	*i = -a;
	return *i;  //实测,返回*i  和 a结果一样
}


项目2 倒着输出一个一维数组

#include <iostream>
using namespace std;
int main()
{
	int real,i,a[100],*p,n;
	cout << "输入数组的个数=";
	cin >> real;
	for (i = 0; i < real; i++)
	{
		cin >> a[i];
	}
	cout << "------------------------------------"<<endl;
	p = &a[0];//等价于p = a;  不能是p = &a;

	for (n = real; n >0; n--)
	{
		cout << *(p+n-1) << endl;  //引用a[i]的值,可用a[i] 、 p[i] 、 *(p+i) 、 *(a+i)  
		
	}
	system("pause");
	return 0;
}
项目3 用指针写回文的判定

#include <iostream>
#include<cstring> 
using namespace std;
const int M = 20;
int main()
{
	int i;
	char u[M];
	char *p=u;
	cout << "请输入单词:" << endl;
	cin >> u;
	//----------------------------
	for (i = 0; i < strlen(u); i++)
	{
		if (*p != *(p + strlen(u) - 1))
			cout<<"不是回文"<<endl; break;
	}
	for (i = 0; i < strlen(u); i++)
	{
		if ((i==strlen(u) -1)&&*p == *(p + strlen(u) - 1))
			cout << "是回文" << endl; 
	}
	system("pause");
	return 0;
}


猜你喜欢

转载自blog.csdn.net/IronBull_Zhang/article/details/80804226