#include<stdio.h> void maopao(int arr[], int x) { int i,a,k; for (k = 0; k < x - 1; k++) { for (i = 0; i < x - 1; i++) { if (arr[i] > arr[i + 1]) { a = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = a; } } } } int main() { int arr[10] = { 9,8,7,6,421,3,3,2,1,9 }; int sz = sizeof(arr) / sizeof(arr[0]),j; maopao(arr, sz); for (j = 0; j < sz; j++) printf("%d\n", arr[j]); return 0; }
时间: 2024-03-14 15:50:13 浏览: 22
这段代码使用冒泡排序对一个数组进行排序,函数 maopao 接受两个参数,第一个是要排序的数组,第二个是数组的大小。在函数内部使用两个嵌套的 for 循环,外层循环控制排序的轮数,内层循环控制每轮中相邻两个元素的比较和交换,如果前一个元素大于后一个元素,则交换它们的位置。然后在主函数中定义一个数组,调用 maopao 函数对其进行排序,最后使用 for 循环输出排序后的结果。
相关问题
} 2、程序填空 #include<stdio.h> voidfun(inta[],intn) {inti,t;
#include <stdio.h>
void fun(int a[], int n) {
int i, t;
for (i = 0; i < n / 2; i++) {
t = a[i];
a[i] = a[n - 1 - i];
a[n - 1 - i] = t;
}
}
// 示例测试
int main() {
int arr[5] = {1, 2, 3, 4, 5};
int i;
fun(arr, 5);
for (i = 0; i < 5; i++)
printf("%d ", arr[i]);
return 0;
}
以下程序求100~200之内的素数。请填空。 #include<math.h> #include<stdio.h> void sushu(int m); void main() { int m; for (m=101;m<=200;m++) —— } void sushu(int m) {int k,i; k=sqrt(m); for(i=2;i<=k;i++) if(i>=k+1) printf("%4d",m); }
以下是填空的代码:
```c
#include <math.h>
#include <stdio.h>
void sushu(int m);
void main() {
int m;
for (m = 101; m <= 200; m++) {
sushu(m);
}
}
void sushu(int m) {
int k, i;
k = sqrt(m);
for (i = 2; i <= k; i++) {
if (m % i == 0) {
break;
}
}
if (i >= k + 1) {
printf("%4d", m);
}
}
```
需要注意的是:
1. 函数`sushu`中的判断条件需要改为判断`m`是否能被`i`整除;
2. 最后的输出语句需要放在判断语句中,只有当`m`是素数时才输出。