运算符的妙用

运算符的妙用

  • 简单字符串加密
  • 实现两个变量互换,不借助第三个变量
  • 三目运算
  • 实现用宏定义 实现值互换

简单字符串加密

	//请输入指定a-z小写加密的字符串
	printf("请输入要加密的字符串\n");
	char chStr[32] = {0};
	scanf("%[a-z]",chStr);
	printf("加密前字符串:%s\n\n",chStr);
	int nLength = strlen(chStr);//取字符串长度
	while (1)
	{

		printf("加密请按1   解密请按2   退出请按3\n");
		int nIndex = 0;
		scanf("%d", &nIndex);
		if (nIndex == 1)
		{
			for (int i = 0; i < nLength; i++)
			{
				chStr[i] = chStr[i] + i + 5;
			}
			printf("加密后字符串:%s\n", chStr);
		}
		else if (nIndex == 2)
		{

			for (int i = 0; i < nLength; i++)
			{
				chStr[i] = chStr[i] - i - 5;
			}
			printf("解密字符串:%s\n", chStr);
		}
		else if (nIndex == 3)return 0;

		printf("\n\n");
	}
	system("pause");

实现两个变量互换,不借助第三个变量

	//实现二个变量互换 但不能借助第三个变量
	int a = 18;
	int b = 10;
	a = a ^ b;//a现在等于一个加密数据  
	b = a ^ b;
	a = a ^ b;

三目运算

//判断性别--不能使用if
	int nTemp = 0;
	printf("请输入0或1,0代表女,1代表男\n");
	while (1)
	{ 
		scanf("%d",&nTemp);
		if (nTemp == 2 || nTemp > 2)break;
		nTemp == 0 ? printf("女的\n") : printf("男的\n"); 

	}

实现用宏定义 实现值互换

	//实现用宏定义 实现值互换
#define swap(a,b) {int c=0;a=c;a=b;b=c;}也可以这种写法
#define swap(a,b) a=a^b;b=a^b;a=a^b;

	int Arraya[] = { 5,6,7,8,9 };
	int Arrayb[] = {10,11,12,13,14};
	for (int i = 0; i < 5; i++)
	{
		swap(Arraya[i],Arrayb[i]);
	}

你可能感兴趣的:(c++,算法)