//练习1:冒泡排序:每次找出最大的放到后面,相邻之间比较,a1>a2交换 ¡要求手写
//每次从第一个元素开始比较,相邻之间比较,遇到后面的比前面的大,则交换两个数,保证最大的放后面
//每次找到一个最大的,下次寻找次大的次数就-1
//n个数寻找最大的数需要n-1次
//void sort (int arr[],int n)// {
// //计算数组元素的个数(只适应基本数据类型: int double char float)
//
// for (int i=0; i<n-1; i++)//找最大的数要找n-1次
// { //每次找最大的数都是从第一个数开始找
// //每次找到一个最大数之后,下次比较的个数就少了一个
// for (int j=0; j<n-i-1; j++)
// //如果遇到前面的数比后面的数大,则交换两个数
// {
// if (arr[j]>arr[j+1])
// {
// //交换相邻的俩个数,保证最大的放后面
// int temp = arr[j];
// arr[j]=arr[j+1];
// arr[j+1]= temp ;
// }
// }
// }
// }
//
//int main()
//{
// int arr[8] = {1,3,4,2,5,6,8,7};
// //数组作为函数的实参,只需要写数组名即可
// sort(arr,8);
// for (int i=0; i<8; i++)
// {
// printf("%d ",arr[i]);
// }
// return 0;
//}
//练习2:字符串中的一位数的基本运算,如:输入字符串"1+2"输出结果为3,输入字符串1*2输出结果为2
//int main()
//{
// char arr[3]; //输入的是3个字符,所以arr[3]用char定义
// int sum;
//
// printf("输入字符串:\n");
// scanf("%s",arr);
//
//
// if (arr[1]=='+')
// {
// sum=(arr[0]-48)+(arr[2]-48);
// }
// else if(arr[1]=='-')
// {
// sum=(arr[0]-48)-(arr[2]-48);
// }
// else if(arr[1]=='*')
// {
// sum=(arr[0]-48)*(arr[2]-48);
// }else
// {
// sum=(arr[0]-48)/(arr[2]-48);
// }
// printf("%d",sum );
//
//
// return 0;
//}
//练习3:用指针打印数组
//int main(){
// int arr[10]={1,2,3,4,5,6,7,8,9,10};
//
// int *cp = arr;
//
// for (int i=0; i<10; i++)
// {
// printf("%d ",*(cp+i));
// }
//
// return 0;
//}
//练习4:用函数交换两个数.
// void changeNum(int i, int j)
//{
// int temp;
// temp=j;
// j=i;
// i=temp;
//
// // return temp;
// printf("交换后是:%d与%d\n",i,j);
//}
//
// int main()
//{
// int a ;
// int b ;
// printf("请输入两个数:\n");
// scanf("%d,%d",&a,&b);
// printf("交换前是:%d与%d\n",a,b);
// changeNum(a,b);
//
//}
//练习5:用函数比较两个数
//void compare(int i,int j)
//{
// int max;
// if (i>j)
// max=i;
// else
// max=j;
//printf("%d与%d比较,大的数是:%d\n",i,j,max);
//
//}
//
//int main ()
//{
// int a = 10;
// int b = 20;
// compare(a,b);
//
//
//}
//使用指针来打印数组
//int main(){
// int bb[10]={1,2,3,4,5,6,7,8,9,10};
// // 方法1.移动指针
// int *qqa = bb; //int *qqi = &bb[0];让qqi等于bb[0]的地址,*qqi就是bb[0]所在地址的数值.
//
// for (int i=0; i<10; i++)
// {
// printf("%d \n",*qqa);
//
// qqa++;//指针向右移动
//
// }
// //让指针回到起始地址
// qqa = bb; //qqa=&bb[0];
// printf("*qqa = %d\n",*qqa);
//
// // 方法2.使用指针加上偏移量来输出数组元素
// int *qqq = bb; //*qqq就是bb[0](1)的地址
// for (int i=0; i<10; i++)
// {
// //此种方式不会移动指针
// printf("%d ",*(qqq+i));
// }
// return 0;
//}
// //打印*qqq验证,qqq指针是否移动
// printf("*qqq = %d \n",*qqq);
//掌握方法1.2
//方法3.使用类似数组的访问方式
// int *aaa = bb;
// for (int i=0; i<10; i++) {
// //此种方式也不会影响指针的位置
// printf("aaa[%d]=%d ",i,aaa[i]);
// }
//方法4.使用数组名来访问(此处省略...)
//函数中指针的使用概述:
//返回一个字符串/字符数组,使用char *
//返回一个整型的数组 使用 int *
//参数:如果是 数组 char *ch,char ch[], int *ch,int ch[]