题:
在一个数组中,有选择的执行时升级排序还是降级排序,
指令1:升级排序
指令2:降级排序
界面:
让用户输入一串数字,作为数组的来源
内部计算之后,让用户输入1则升序、输入2则降序
实现方法:
保存数组
对数据进行冒泡排序
#include
int num[5];
void get_data(void);
int get_sort_cmd(void);
void sort_data(int cmd);
void printf_data(void);
int main(void)
{
get_data();
sort_data(get_sort_cmd());
return 0;
}
void get_data(void)
{
int i;
for (i=0; i<5; i++)
{
printf("Please intput %d / 5 number:", i+1);
scanf("%d", &num[i]);
}
}
void sort_data(int cmd)
{
int i, j, tmp;
if (cmd == 1)//升序
{
for (i=0; i< sizeof(num)/sizeof(int); i++)
{
for (j=0; j< sizeof(num)/sizeof(int)-i; j++)
{
if (num[j] > num[j+1])
{
tmp = num[j+1];
num[j+1] = num[j];
num[j] = tmp;
}
}
}
printf_data();
}
else//降序
{
for (i=0; i< sizeof(num)/sizeof(int)-1; i++)
{
for (j=0; j< sizeof(num)/sizeof(int)-i; j++)
{
if (num[j] < num[j+1])
{
tmp = num[j+1];
num[j+1] = num[j];
num[j] = tmp;
}
}
}
printf_data();
}
}
int get_sort_cmd(void)
{
int sort_cmd;
re_note:
printf("指令1:升级排序 指令2:降级排序\r\n");
scanf("%d", &sort_cmd);
if (sort_cmd == 1 || sort_cmd == 2)
{
return sort_cmd;
}
else
{
printf("请输入的值为1或2\n");
goto re_note;
}
}
void printf_data(void)
{
int i;
for (i=0; i
{
printf("num[%d]=%d\n", i, num[i]);
}
}
标签:sort,题目,int,void,cmd,冒泡排序,C语言,num,data
来源: https://blog.csdn.net/weixin_41947101/article/details/112133865