创建一个main程序,先输出菜单,比如1:冒泡排序 2:选择排序 3:月份判断天数 4:……
然后输入选择的数字,根据选择的数字,调用对应函数,运行对应的程序,要求不少于5个功能程序,
提交一个.c的源代码和主程序运行截图。
你随便写几个功能,一组合就行
我写的博客里这三个都有,也都有解释,题主借助switch组合一下就可以了。
冒泡排序:
链接:https://blog.csdn.net/qq_51646682/article/details/122307130?spm=1001.2014.3001.5502
#include <stdio.h>
//冒泡排序
void Bubble_sort(int a[], int len)
{
int i, j, temp;
for (i = 0; i < len - 1; i++)
for (j = 0; j < len - 1 - i; j++)
// > 为升序排序 如果是降序排序用 <
if (a[j] > a[j + 1]) {
//通过中间变量的赋值实现位置的交换
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
//主函数
int main()
{
int a[] = {3,44,38,5,47,15,36,26,27,2,46,4,19,50,48};
int len = (int)sizeof(a)/sizeof(*a);
//调用冒泡排序函数进行排序
Bubble_sort(a, len);
int i;
//循环输出排序后的结果:
for (i = 0; i < len; i++)
printf("%d ", a[i]);
return 0;
}
选择排序:
链接:https://blog.csdn.net/qq_51646682/article/details/122314510?spm=1001.2014.3001.5502
#include <stdio.h>
//Swap函数实现位置交换
void Swap(int *a,int *b)
{
//arr[min]与arr[i] 进行位置交换
int temp = *a;
*a = *b;
*b = temp;
}
//选择排序
void Selection_sort(int arr[], int len)
{
int i,j;//定义变量i,j
for (i = 0 ; i < len - 1 ; i++)
{
int min = i; //定义i的位置 为最小值
for (j = i + 1; j < len; j++) //遍历未排序的元素
if (arr[j] < arr[min])//比较判断找到目前最小值,此处为升序的实现
min = j; //记录最小值
Swap(&arr[min], &arr[i]); //元素位置交換
}
}
int main() {
int a[] = {3,44,38,5,47,15,36,26,27,2,46,4,19,50,48};
int len = (int)sizeof(a)/sizeof(*a);
//调用选择排序函数进行排序
Selection_sort(a, len);
int i;
//循环输出排序后的结果:
for (i = 0; i < len; i++)
printf("%d ", a[i]);
return 0;
}
月份天数:
链接:https://blog.csdn.net/qq_51646682/article/details/120939975?spm=1001.2014.3001.5502
#include<stdio.h>
int main()
{
int x,y,day;
scanf("%d%d",&x,&y);
switch(y){
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 :
day=31;
break;
case 4 :
case 6 :
case 9 :
case 11 :
day=30;
break;
case 2:
{
if( x % 4 == 0 && x % 100 != 0 || x % 400 == 0)
day=29;
else
day=28;
}
}
printf("%d\n",day);
return 0;
}
希望对题主有所帮助,望采纳!