第一个冒泡算法 C语言
2016-02-18 13:15
369 查看
作为新手编了一个冒泡算法的小程序,可能存在bug。
#include <stdio.h>
void maopao(int a[100],int j, int b, int *prram, int f);
int main(void) {
int a[100], i = 1, j = 0, b = 0, r = 0, f = 0;
printf("输入整数的个数(<100):");
scanf("%d",&j);
while (i<=j) {
printf("输入第%d个数:",i);
scanf("%d",&a[i]);
i = i+1;
}
f = j-1;
for (int q = 1; q<= (j-1)&&r == 0; q++) {
maopao(a, j, b, &r, f);
f = f-1;
}
}
void maopao(int a[100],int j, int b, int *prram, int f){
int d = 0;
d = 0;
for (int k = 1; k<= f; k++) {
if(a[k]>a[k+1])
{
b = a[k];
a[k] = a[k+1];
a[k+1] = b;
d = d+1;
}
}
if (d == 0) {
printf("completed!\n");
*prram = 1;
}
else{
for(int p = 1; p<=j; p++){
printf("%d ",a[p]);
}
printf("\n");
}
}
这是在xcode里写的,可能运行后会自动退出(一闪而过),因为我没有加system("pause")(懒
#include <stdio.h>
void maopao(int a[100],int j, int b, int *prram, int f);
int main(void) {
int a[100], i = 1, j = 0, b = 0, r = 0, f = 0;
printf("输入整数的个数(<100):");
scanf("%d",&j);
while (i<=j) {
printf("输入第%d个数:",i);
scanf("%d",&a[i]);
i = i+1;
}
f = j-1;
for (int q = 1; q<= (j-1)&&r == 0; q++) {
maopao(a, j, b, &r, f);
f = f-1;
}
}
void maopao(int a[100],int j, int b, int *prram, int f){
int d = 0;
d = 0;
for (int k = 1; k<= f; k++) {
if(a[k]>a[k+1])
{
b = a[k];
a[k] = a[k+1];
a[k+1] = b;
d = d+1;
}
}
if (d == 0) {
printf("completed!\n");
*prram = 1;
}
else{
for(int p = 1; p<=j; p++){
printf("%d ",a[p]);
}
printf("\n");
}
}
这是在xcode里写的,可能运行后会自动退出(一闪而过),因为我没有加system("pause")(懒
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- 书评:《算法之美( Algorithms to Live By )》
- 动易2006序列号破解算法公布
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- Lua和C语言的交互详解
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法