#include<stdio.h>#include<string.h>#defineA_NUM10int t1 =0;int t2 =0;/**
*键盘录入一组数列,利用冒泡排序将数据由大到小排序
*///使用常规冒泡完成voidt_1_1(){int i,n;printf("请输入数列的大小:\n");scanf("%d",&n);int arr[n];printf("请输入该数列:\n");for(i =0; i < n; i++){scanf("%d",&arr[i]);}for(i =0; i < n -1; i++){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;}
t1++;}}for(i =0; i < n; i++){printf("%-4d",arr[i]);}printf("\n%d\n",t1);}//使用鸡尾酒排序法完成voidt_1_2(){int i,n;printf("请输入数列的大小:\n");scanf("%d",&n);int arr[n];int start =0;int end = n -1;int is_flag =1;for(i =0; i < n; i++){scanf("%d",&arr[i]);}while(is_flag){
is_flag =0;for(i = start; i < end; i++){if(arr[i]< arr[i+1]){int temp = arr[i];
arr[i]= arr[i+1];
arr[i+1]= temp;
is_flag =1;}
t2++;}
end--;if(!is_flag)break;for(i = end; i > start; i--){if(arr[i]> arr[i-1]){int temp = arr[i];
arr[i]= arr[i-1];
arr[i-1]= temp;
is_flag =1;}
t2++;}
start++;}for(i =0; i < n; i++){printf("%-4d",arr[i]);}printf("\n%d\n",t2);}
2.输入年、月、日,计算该天是本年的第几天
/**
*输入年、月、日,计算该天是本年的第几天
*/voidt_2(){int num_y,num_m,num_d;printf("输入年数-月数-天:\n");scanf("%d-%d-%d",&num_y,&num_m,&num_d);int m[]={31,28,31,30,31,30,31,31,30,31,30,31};int len =sizeof(m)/sizeof(m[0]);if((num_y %400==0)||(num_y %100!=0&& num_y %4==0))
m[1]++;int sum = num_d;for(int i =0; i < num_m -1; i++){
sum += m[i];}printf("%d年已经过%d天\n",num_y,sum);}
3.键盘录入一组数列,求最大值、最小值、均值
/**
*键盘录入一组数列,求最大值、最小值、均值
*/voidt_3(){int arr[A_NUM];int len =sizeof(arr)/sizeof(arr[0]);for(int i =0; i < len; i++){scanf("%d",&arr[i]);}int max = arr[0];int min = arr[0];int sum =0;for(int i =1; i < len; i++){
sum += arr[i];if(arr[i]> max)
max = arr[i];if(arr[i]< min)
min = arr[i];}printf("十个数的最大值是%d,最小值是%d,平均值是%.1lf\n",max,min,(double)sum/10);}
4.从键盘录入一组数据,判断是否是回文,如12321,abba
/**
*从键盘录入一组数据,判断是否是回文,如12321,abba
*/voidt_4(){int n;printf("输入数据的位数:\n");scanf("%d",&n);int arr[n];int is_flag =1;for(int i =0; i < n; i++){scanf("%1d",&arr[i]);}for(int i =0; i < n/2; i++){if(arr[i]!= arr[n-i-1])
is_flag =0;}if(is_flag)printf("是回文数据!\n");elseprintf("不是回文数据!\n");}
5.用数组存储10个整型数,通过键盘输入一个数,找出该数在数组中的下标值
/**
*用数组存储10个整型数,通过键盘输入一个数,找出该数在数组中的下标值
*/voidt_5(){int arr[10];for(int i =0; i <10; i++){scanf("%d",&arr[i]);}int n;printf("输入需要查找的数:\n");scanf("%d",&n);int is_flag =1;int i;for(i =0; i <10; i++){if(arr[i]== n)break;if(i ==10-1)
is_flag =0;}if(is_flag)printf("下标值为%d!\n",i);elseprintf("数组中没有这个数\n");}