就是冒泡排序, 第一层循环表示有十个数字循环十次
我们提供的服务有:做网站、成都网站设计、微信公众号开发、网站优化、网站认证、龙江ssl等。为成百上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的龙江网站制作公司
第二层循环是对每一轮中选择最大的放在最后, 所以就是从小到大排序
多看看循环, 自己举个例子就很明显了
e.g:
冒泡排序
插入排序
交换排序
堆排序
基数排序
...
循环j*8505次.
假设j开始等于100,
while外循环则循环100次,
每次执行一次内循环,
内循环每次执行8505次.
总共100*8505次.
你这个硬件处理器的频率可能运算8505次计算为1秒(或毫秒/微秒/纳秒),
然后delay函数实现循环n秒(或毫秒/微秒/纳秒).
应该不是秒,
1秒才运算8000多次的话那.....
例如for(int i = 0; i 3; i++)
for(int j = 0; j 3; j++){ ……}
先从外层循环i=0,判断i3,进入里面的循环,j=0,判断i3;执行函数体内的语句,j++,接着再判断j3, 成立继续执行函数体内语句,知道内循环执行完成,i++,判断i3是否成立,知道所有的执行完,跳出双循环
里面就才一个For啊,你这个程序是将数组C[10]里的数依次输出吧,结果应该是:
1234567890
press any key to continue
因为你的printf("\n") 没包含在For里面,所以只能是到最后输出0了才有一个回车,结束程序。
而你的另一个函数void fun(int a ,int b),由于没有在main()里面调用到,因此是无效的、不起作用的。
你如果需要实现什么功能请说,我可以给你提供点参考。
补充:你的printf("\n") 少了个分号。
再补充:
如果你想将C[10]倒序打印,可以将For语句改成:for(i=9;i=0;i--)printf("%d,",c[i]);
而不是使用void fun(int a ,int b)这个函数通过对调来一个接一个交换元素实现。不过如果你非要用这种方法实现也可以,就是比较麻烦一点,需要帮忙的话可以追加提问,我会在看到追加的第一时间回复。
这个要用到多线程了,给你个例子:
#includestdio.h
#include conio.h
#includeWindows.h
#include process.h
char c=0;
VOID B(PVOID p) //线程B
{
while (1)
{
if (c=='b'||c=='B')
break;
printf("BBB ");
Sleep(200); //延时
}
}
VOID C(PVOID p) //线程C
{
while (1)
{
if (c=='c'||c=='C')
break;
printf("CCC ");
Sleep(300);
}
}
void A()
{
_beginthread(B, 0, 0); //启动B
_beginthread(C, 0, 0); //启动C
}
int main()
{
A();
printf("按B结束B,按C结束C,按Q退出\n");
while (1)
{
c=getch();
if (c=='q'||c=='Q')
break;
}
return 0;
}