#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");}
/**
*编写一个程序,读取用户输入的字符串,并将其反转输出
*/voidt_12(){char str[30];fgets(str,30,stdin);char str_turn[30];int len =strlen(str);int i;len--;//去掉'\0'for(i =0; i < len; i++){if(str[len - i -1]=='\n')continue;str_turn[i]= str[len - i -1];}printf("%s\n",str_turn);}
13.编写一个程序,判断用户输入字符串是否为回文
/**
*编写一个程序,判断用户输入字符串是否为回文
*/voidt_13(){char arr[30];fgets(arr,30,stdin);int len =strlen(arr);//fgets会将\n也算进去,所以末尾为\n时要移除if(arr[len -1]=='\n'){arr[len -1]='\0';len--;}int is_flag =1;for(int i =0; i < len/2; i++){if(arr[i]!= arr[len-i-1])is_flag =0;}if(is_flag)printf("是回文数据!\n");elseprintf("不是回文数据!\n");}
python正则表达式,使用re模块,模块中三个基础方法来做正则匹配。
match re.match(匹配规则, 被匹配的字符串) 从字符串开头进行匹配,匹配成功返回匹配对象(包含匹配的信息),匹配不成功返回空。…
求和 蓝桥杯每日一题 2024-12-17 求和 前缀和 题目大意 给定 n n n 个整数 a 1 , a 2 , … , a n a_1, a_2, \ldots, a_n a1,a2,…,an,求它们两两相乘再相加的和,即: S a 1 ⋅ a 2 a 1 ⋅ a 3 … a 1 ⋅ a n a 2 ⋅ a 3 … a …