#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<errno.h>
#include<stdlib.h>
//int main() {
//
// int a, b;
// if (a = 5) //分支结构1
// printf("%d\n", a);
// else
// printf("表达式为假\n");
// if (b = 0) //分支结构2
// printf("%d", b);
// else
// printf("表达式为假");
// return 0;
// }
//int main() {
// if (4 < 2 < 3)
// printf("hehe");
// if (4 >2 > 3)
// printf("hehe");
// if (4 <3 > 2)
// printf("hehe");
//
//
//}
//
//int main() {
// int a, b;
// if (a = b = 4)
// printf("%d %d",a,b);
// if (a = 5 > 3)
// printf("%d", a);
// return 0;
//}
//#include<stdio.h>
//int main() {
// int n;
// printf("please input a number:");
// scanf("%d", &n);
// if (n % 4 == 0) {
// if (n % 100 == 0) {
// if (n % 400 == 0)
// printf("%d is a leap year",n);
// else
// printf("%d isn't a leap year", n);
// }
// else
// printf("%d is a leap year", n);
//
// }
// else
// printf("%d isn't a leap year", n);
// return 0;
//}
//int max(int x, int y) {
// return x > y ? x : y;
//}
//int main() {
// int a = 10, b = 20;
// printf("%d", max(a, b));
// return 0;
//}
//
//int main() {
// int n;
// while ((n = getchar()) != EOF)
// if (n > 140)
// printf("Genius\n");
// return 0;
//}
//
//struct student {
// char name[20] ;
// int age;
// char gender[20];
//};
//int main() {
// struct student jack = { "jack",18,"man" };
// printf("Name\tAge Gender\n");
// printf("---------------------\n");
// printf("%s\t%d %s", jack.name, jack.age, jack.gender);
//
// return 0;
//}
//int main() {
// printf("%zd", sizeof(4));
// return 0;
//}
//int main() {
// int n;
// scanf("%d", &n);
// switch (n / 30) {
// case 0:
// switch (n) {
// case 1:
// printf("状元");
// break;
// case 2:
// printf("榜眼");
// break;
// case 3:
// printf("探花");
// break;
// default:
// printf("进士及第");
// }
// break;
// case 1:
// switch (n) {
// case 30:
// printf("进士及第");
// break;
// default:
// printf("同进士及第");
// }
// break;
// case 2:
// switch (n) {
// case 60:
// printf("同进士及第");
// break;
// default:
// printf("很遗憾你落榜了");
// }
// break;
// default:
// printf("很遗憾你落榜了");
//
//
// }
//int main() {
// int c = (int)65535;
// printf("%d", c);
//
// return 0;
//int main() {
// char c = "a";
// printf("%c %d", c, c);
//
//
//
//}
//int main() {
// unsigned a = 32768;
// printf("%d\n", a);
// return 0;
//}
//void Reversed_Printf(int n) {
// if (n >= 10)
// {
// printf("%d", n % 10);
// Reversed_Printf(n / 10);
// }
// else
// printf("%d\n", n);
//}
//int main() {
// int n;
// scanf("%d", &n);
// if (n >= 1000 && n <= 9999)
// Reversed_Printf(n);
// return 0;
// }
//void Order_Printf(int n) {
// if (n >= 10)
// {
// Order_Printf(n / 10);
// }
// printf("%d", n%10);
//}
//int main() {
// int n;
// scanf("%d", &n);
// Order_Printf(n);
// return 0;
//}
//int main() {
// char ch;
// FILE* p = fopen("xx.obj","ab");
// if (p == NULL) {
// printf("%s\n", strerror(errno));
// return 0;
// }
// else
// {
// ch = getchar();
// fputc(ch, p);
// fgetc(p);
// fclose(p);
// p = NULL;
// }
// return 0;
//}
//int main() {
// const char* p = "abcdefg";
// FILE* pf = fopen("cb.obj", "wb");
// if (pf == NULL)
// {
// printf("%s\n", strerror(errno));
// return 0;
// }
// else {
// fwrite(p, 8, 1, pf);
// }
// fclose(pf);
// pf = NULL;
// return 0;
//}
//int main() {
// char p[8] = { 0 };
// FILE* pf = fopen("cb.obj", "rb");
// if (pf == NULL)
// {
// printf("%s\n", strerror(errno));
// return 0;
// }
// else {
// fread(p, 8, 1, pf);
// }
// printf("%s\n", p);
// fclose(pf);
// pf = NULL;
// return 0;
//}
//int main() {
// FILE* pf = fopen("cb.obj", "wb+");
// if (pf == NULL)
// {
// printf("%s\n", strerror(errno));
// return 0;
// }
// else {
// fwrite(stdin, 8, 1, pf);
// }
// fclose(pf);
// pf = NULL;
// return 0;
//}
//int main() {
// FILE* pf = fopen("cb.obj", "ab+");
// if (pf == NULL)
// {
// printf("%s\n", strerror(errno));
// return 0;
// }
// else {
// fread(stdout, 8, 1, pf);
// }
// fclose(pf);
// pf = NULL;
// return 0;
//}
//int str(char* s, char* s1) {
// char* p=strstr(s,s1);
// if (p ==NULL)
// str(++p, s1);
// return strlen(s);
//
// }
//int main() {
// char* s = "abaabaaabbca";
// char* s1 = "ab";
// printf("%d\n", str(s, s1));
// return 0;
//}
//int indexof(char* s, char* c) {
// int count = 0;
// char* p=s;
// while (1) {
// if (p=strstr(p, c))
// {
// count++;
// p++;
// }
// else
// break;
// }
// return count;
//}
//int main() {
// char* s = "abcdefabcdhjkhkhaabcdabcd";
// char* c = "abcd";
// printf("%d" , indexof(s, c));
// return 0;
//}
//struct std {
// char name[10];
// int age;
// char idcard[20];
//};
//void swap(char* buff1, char* buff2, int width) {
// char j;
// while (width--) {
// j = *buff1;
// *buff1 = *buff2;
// *buff2 = j;
// buff1++;
// buff2++;
// }
//}
//void my_qsort(void* base, int num, int width, int(*cmp)(const void* e1,const void* e2)) {
// int i = 0;
// for (i = 0; i < num - 1; i++) {
// int j = 0;
// for (j = 0; j < num - 1 - i; j++) {
// if (cmp((char*)base + j * width, (char*)base + (j + 1) * width) > 0)
// swap((char*)base + j * width, (char*)base + (j + 1) * width,width);
// }
//
// }
//}
//int cmp_struct_int(const void* e1, const void* e2) {
// return ((struct std*)e1)->age - ((struct std*)e2)->age;
//}
//int main() {
// struct std student[3] = { {"cb",17,"2220212083"},{"dsy",18,"2021212801"},{"xk",18,"2220212083"} };
// my_qsort(student, sizeof(student) / sizeof(student[0]), sizeof(student[0]), cmp_struct_int);
// printf("%d", sizeof(student[0]));
// return 0;
//}
//int main() {
//
// for (int i = 0; i <= 100; i++) {
// for (int j = 0; j <= 100; j++) {
// for (int k = 0; k <= 100; k++) {
// if (5 * i + 3 * j + k / 3 == 100 && k % 3 == 0 && i + j + k == 100) {
// printf("公鸡有%d只 母鸡有%d只 小鸡有%d只\n", i, j, k);
// }
// }
// }
// }
// return 0;
//}
//int main() {
// for (int i = 1; i <= 9; i++) {
//
// for (int j = 1; j <= i; j++) {
// printf("%d*%d=%2d ", i, j, i * j);
// }
// printf("\n");
// }
// return 0;
//}
//int main() {
// int arr[10] = { 1,2,3,4,5,6,7,8,9 };
// int i = 0;
// for (i = 0; i < 10; i++)
// printf("%d ", arr[i]);
// printf("\n");
// return 0;
//}
//int main() {
// int arr[10] = { 5,4,6,8,99,77,55,10,100,800 };
// int i, j; //两个循环变量
// int box; //再将两个变量进行交换位置的时候,我们需要一个空盒子来作为媒介,而box变量就是这个空盒子
// for (i = 0; i < 10; i++)
// {
// j = 0;
// for (j = 0; j < 9; j++) { //每一趟冒泡排序都会把最大的值放到最右边
// if (arr[j] > arr[j + 1]) //如果前面那项大于后面那项,说明顺序错误,进行交换
// {
// box = arr[j]; //交换的流程
// arr[j] = arr[j + 1];
// arr[j + 1] =box;
// }
// }
// }
// for (i = 0; i < 10; i++) {
// printf("%d\t", arr[i]); //将排序后的结果打印
// }
// printf("\n");
// return 0;
//}
//int main() {
// int arr[10] = { 500,95 ,84,56,800,29,16,358,11,4 };
// int i, j;
// int box;
// int flag = -1; //用flag作为数组是否有序的标志
// for (i = 0; i < 9; i++) //减少一趟冒泡排序
// {
// j = 0;
// for (j = 0; j < 9-i; j++) { //后i项已经完成了排序,可以不用在比较
// if (arr[j] > arr[j + 1])
// {
// box = arr[j];
// arr[j] = arr[j + 1];
// arr[j + 1] = box;
// flag = 0; //进行了调整,则赋值flag为0
// }
// }
// if (flag)
// break; //进行了一趟排序之后,如果没有进行交换,则flag为-1,表达式为真,跳出循环
// }
// for (j= 0; j < 10; j++) {
// printf("%d\t", arr[j]);
// }
// printf("\n");
// return 0;
//}
//int main() {
// int arr[10] = { 500,95 ,84,56,800,29,16,358,11,4 };
// int i, j;
// int box;
// int min; //不断的让arr[min]成为最小值
// for (i = 0; i <9; i++) {
// min = i