[用VB语言把10数从小到大排列]dim a(9) as integer'定义一个数组用于存放数据 for i=0 to 9 a(i)=int(rnd*100)'生成0-99之间的10个数字,放到数组里 next for i=0 to 9 for j=i to 9 if a(i)>a(j) then '...+阅读
#include
void swap(int *p, int *q) /* 交换值 */
{
int t;
t = *p;
*p = *q;
*q = t;
}
void newseq(int *data,int start,int last)
{
while(start < last)
{
swap(&data[start],&data[last]);
start++;
last--;
}
}
void show(int *data,int num) /* 显示数列 */
{
int i = 0;
for(i;i < num;i++)
{
printf(" %d ",data[i]);
}
printf("\n");
}
int findall(int *data,int num) /* 字典序算法*/
{
int i = 0,j = 0,tmp = 0;
int lastdata = num-1;
for(i = lastdata;i > 0;i--)
{
if(data[i] > data[i-1])
break;
}
if(0 == i)
return 0;
tmp = i;
for(j = lastdata;j >= i;j--)
{
if((data[j] > data[i-1]) && (data[j] < data[tmp]))
tmp = j;
}
swap(&data[tmp],&data[i-1]);
newseq(data,i,lastdata);
return 1;
}
int main(void)
{
int data[3]={1,2,3};
show(data,3);
while(findall(data,3))
{
show(data,3);
}
return 0;
}
打印结果如下:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
以下为关联文档:
c语言实现二叉树的先序中序后序的递归和非递归算法和层次遍历#include// malloc()等 #include// 标准输入输出头文件,包括EOF(=^Z或F6),NULL等 #include// atoi(),exit() #include// 数学函数头文件,包括floor(),ceil(),abs()等#define Cle...
如何快速更改PPT幻灯片的排列顺序在PPT演示文稿中,幻灯片的排列顺序决定了幻灯片的播放顺序,如果这个百顺序不符合要求,用户可以根据需要移动幻灯片来改变这个顺序。另外,通过剪切和粘贴的方法,同样能够快速改变...
中考句子排列题的方法技巧举几个例子我有急用谢了1.排序题要求在注意语言表达的整体性、连贯性原则以外,还要多角度地寻找解决问题的切入口。句子排序问题应该注意以下几个问题:①揣摩语段的整体意义,理清选项内容所提供的信息...
C语言数组排列怎么做最常用的就是冒泡排序的方法了。 比如对10个数字进行排序,则程序是这样的 #include<stdio.h>void main(){int a[10];int i,j, t;printf("输入十个数字:\n");for(i=0;i<=9;i++){sca...
求大神解答一道C语言题:用二分法在顺序排列的字典中查找单词#include <stdio.h> #include <string.h> void binary_search(char key[100], char a[100][100], int n) /*自定义函数binary_search*/ { int low, high, mid, count = 0, c...
C语言递归倒序输出字符串#include<stdio.h> void f() { char ch; if((ch = getchar())!='\n') f(); if(ch!='\n') printf("%c", ch); //这个输出语句是写在了递归调用之后,会被压栈,先压栈的后输出,所以可...
c语言选排列算法该函数求得是自由组合数,输出是An取k的所有可能组合 #include <stdio.h> int n,k,a[10]; long count=0; void perm2(int j) { int i,p,t; if(j==k) //执行条件j=k { for(i=k;...
求解c语言一递归迷宫问题给你给伪算法:(设坐标为x,y,坐标向右和下延生。)函数:{ 判断当前是不是(7,7),如果是,表示走出迷宫。打印轨迹 1 尝试往左先走一步(x-1,如果x小于0,或者对应位置标识为阻塞) 2 1如果成功,用...
c语言里用递归实现链表反向打印打开NewContactList工程文件, 相关的修改的程序文件如下(未修改的没有post 上去)。 ContactList.h文件如下: /* *ContactList.h * * created on Jul 6, 2014 * Author: *** * *...