从键盘输入6个待排序的数据存放到数组a中,使用冒泡排序的方法将该数组进行升序排序。main函数中从键盘输入6个数据给数组a,冒泡排序后输出结果到屏幕上。源程序命名为a22.c。 “冒泡法排序”的思想是:依次比较相邻的两个数,将小数放在前面,大数放在后面。 即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。 在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。 【测试数据与运行结果】 第一组 请输入6个整数: 输入:78 76 90 5 45 53 输出:升序排序后的数组是: 5 45 53 76 78 90 第二组 请输入6个整数: 输入:8 2 6 7 1 3 输出:升序排序后的数组是: 1 2 3 6 7 8 第三组 请输入6个整数: 输入:5 4 3 2 1 0 输出:升序排序后的数组是: 0 1 2 3 4 5 #include "stdio.h" int main() {int a[128], i, j, n=6,temp; printf("请输入6个整数:\n"); for(i=0; i<n; i++) scanf("%d",&a[i]); 【请在此处完善程序】 for(i="0;" for(j="0;" j++) if (a[j]>a[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } printf("升序排序后的数组是:\n"); fprintf(fp,"升序排序后的数组是:\n"); for(i=0;i<n;i++) printf("%5d",a[i]);>
第1题
第2题
A.产生随机数时不使用Int函数
B.循环2的初值应为i= x
C.数组定义改为Dim a(11)As Integer
D.循环3的循环终值应改为9
第3题
Option Base 1
Privare Sub Command1 Click( )
Dim arr(10)As Integer
For i=1To 10循环1
Arr(i),=Int(Rnd*100)
Print arr(i);
Next i
x=InputBox("输入1—10的一个整数:")
For i=X+1 To 10循环2
arr(i-1)=arr(i)
Next i
For i=x-1 To 10 循环3
Print arr(i)
Next i
End Sub
程序运行后发现显示的结果不正确,应该进行的修改是( )。
A.产生随机数时不使用Int函数
B.循环2的初值应为i= x
C.数组定义改为Dim a(11)As Integer
D.循环3的循环终值应改为9
第5题
从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中,m和n的值由用户键盘输入。已知m和n的值都不超过10。在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include <stdio.h> #define M 10 #define N 10 void InputMatrix(int *p, int m, int n); int FindMax(int *p, int m, int n, int *pRow, int *pCol); int main() { int a[M][N], m, n, row, col, max; printf("Input m,n:\n"); scanf("%d,%d", &m, &n); InputMatrix(*a, m, n); max = FindMax(________________); printf("max=%d,row=%d,col=%d\n", max, row, col); return 0; } /* 函数功能:输入m*n矩阵的值 */ void InputMatrix(int *p, int m, int n) { int i, j; printf("Input %d*%d array:\n", m, n); for (i=0; i <m; i++) { for (j="0;" j++) scanf("%d", _________); } * 函数功能:在m*n矩阵中查找最大值及其所在的行列号 int findmax(int *p, m, n, *prow, *pcol) i, j, max="p[0];" *prow="0;" *pcol="0;" (i="0;" if (p[i*n+j]> max) { max = ___________; ______________; /*记录行下标*/ ______________; /*记录列下标*/ } } } return max; }
A、第12行: *a, m, n, &row, &col 第27行: &p[i*n+j] 第44行: p[i*n+j] 第46行: *pRow = i 第48行: *pCol = j
B、第12行: *a, m, n, &row, &col 第27行: &p[j*n+i] 第44行: p[j*n+i] 第46行: *pRow = j 第48行: *pCol = i
C、第12行: &a, m, n, row, col 第27行: &p[i*n+j] 第44行: p[i*n+j] 第46行: pRow = i 第48行: pCol = j
D、第12行: a, m, n, row, col 第27行: &p[j*n+i] 第44行: p[i*n+j] 第46行: *pRow = j 第48行: *pCol = i
第9题
#include<stdio.h>
#define N 20
main()
{ int a[N],i;
for(i=0;i<N;i++)
______;
for(i=0;i<N;i++)
{if(______)______;
printf("%d",a[i]);
}
printf("\n");
}
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!