#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<assert.h>
#include<math.h>
#include<stdlib.h>
//void reverse(char* str)
//{
// assert(str);
// int len = strlen(str);
// char* left = str;
// char* right =str + len - 1;
// while (left < right)
// {
// char tmp = *left;
// *left = *right;
// *right = tmp;
// left++;
// right--;
// }
//}
//
//int main()
//{
// char arr[256] = { 0 };
// //scanf("%s", arr);
// //gets(arr) - 读取一行
// gets(arr);
// //逆序函数
// reverse(arr);
// printf("逆序后的字符串: %s\n", arr);
// return 0;
//}
//int main()
//{
// int a = 0;
// int n = 0;
// scanf("%d%d", &a, &n);
// int sum = 0;
// int i = 0;
// int ret = 0;
// //2 22 222 2222 22222
// for (i = 0; i < n; i++)
// {
// ret = ret * 10 + a;
// sum += ret;
// }
// printf("%d\n", sum);
// return 0;
//}
//int main()
//{
// int i = 0;
// for (i = 0; i < 100000; i++)
// {
// //判断i是否为水仙花数(自幂数)
// //1.计算i的位数 - n位数
// int n = 1;
// int tmp = i;
// int sum = 0;
// while (tmp /= 10)
// {
// n++;
// }
// //123/10 n++
// //12/10 n++
// //1/10
//
// //2.计算i的每一位的n次方之和
// tmp = i;
// while (tmp)
// {
// sum += pow(tmp % 10, n);
// tmp /= 10;
// }
// //3.比较i == sum
// if (i == sum)
// {
// printf("%d ", i);
// }
// }
// return 0;
//}
//int main()
//{
// int line = 0;
// scanf("%d", &line);//7
// //打印上半部分
// int i = 0;
// for (i = 0; i < line; i++)
// {
// //打印空格
// int j = 0;
// for (j = 0; j < line - 1-i ; j++)
// {
// printf(" ");
// }
// //打印*
// for (j = 0; j < 2*i+1; j++)
// {
// printf("*");
// }
// printf("\n");
// }
// //打印下半部分
// for (i = 0; i < line - 1; i++)
// {
// //打印空格
// int j = 0;
// for (j = 0; j <=i ; j++)
// {
// printf(" ");
// }
// //打印*
// for (j = 0; j < 2*(line-1-i) - 1; j++)
// {
// printf("*");
// }
// printf("\n");
// }
// return 0;
//}
//int main()
//{
// int money = 0;
// int total = 0;
// int empty = 0;
// scanf("%d", &money);
// //买回来的汽车喝掉
// if (money == 0)
// total = 0;
// else
// total = 2 * money - 1;
// //total = money;
// //empty = money;
// ////换回来的汽水
// //while (empty >= 2)
// //{
// // total += empty / 2;
// // empty = empty / 2 + empty % 2;
// //}
// printf("total = %d\n", total);
// return 0;
//}
//void move(int arr[],int sz)
//{
// int left = 0;
// int right = sz - 1;
//
// while (left<right)
// {
// //从左边找偶数
// while ((left<right) && (arr[left] % 2 == 1))
// {
// left++;
// }
// //从右边找奇数
// while ((left < right) && (arr[right] % 2 == 0))
// {
// right--;
// }
// if (left < right)
// {
// int tmp = arr[left];
// arr[left] = arr[right];
// arr[right] = tmp;
// }
// }
//}
//
//void print(int arr[], int sz)
//{
// int i = 0;
// for (i = 0; i < sz; i++)
// {
// printf("%d ", arr[i]);
// }
// printf("\n");
//}
//
//int main()
//{
// int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
// int sz = sizeof(arr) / sizeof(arr[0]);
// move(arr,sz);
// print(arr,sz);
// return 0;
//}
//int main()
//{
// int a = 0;
// int b = 0;
// int c = 0;
// int d = 0;
// int e = 0;
// for (a = 1; a <= 5; a++)
// {
// for (b = 1; b <= 5; b++)
// {
// for (c = 1; c <= 5; c++)
// {
// for (d = 1; d <= 5; d++)
// {
// for (e = 1; e <= 5; e++)
// {
// if (((b == 2) + (a == 3) == 1) &&
// (((b == 2) + (e == 4) == 1)) &&
// (((c == 1) + (d == 2) == 1)) &&
// (((c == 5) + (d == 3) == 1)) &&
// (((e == 4) + (a == 1) == 1)))
// {
// if(a*b*c*d*e==120)
// printf("a=%d b=%d c=%d d=%d e=%d\n", a, b, c, d, e);
// }
// }
// }
// }
// }
// }
// return 0;
//}
//int main()
//{
// //申请空间
// int* p =(int*) malloc(10 * sizeof(int));
// //使用空间
// //*****
// //释放空间
// free(p);
// p = NULL;
// return 0;
//}
//int* fun(int a, int b);//函数声明
//int(*fun)(int a, int b);//函数指针
//(int*)fun(int a, int b);//函数声明