第3题
输入10个整数,用选择法排序后按从小到大的次序输出。 #include <stdio.h> #define N 10 int main( ) { int i,j,min,temp,a[N]; for(i=0;i <n;i++) scanf("%d", &a[i]); printf("\n"); for(i="0;i<N-1;i++)" { min="i;" for(j="i;j<N;j++)" if(a[min]> a[j]) ; temp=a[i]; a[i]=a[min]; a[min]=temp; } for (i=0;i <n;i++) printf("%5d",a[i]); printf("\n"); return 0;>
第6题
第7题
从键盘输入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]);>
第8题
编程产生输入三个0~100之间(包含0和100)的随机数a、b和c,要求实现 (1)至少使用两种不同的方法,将三个数字按从小到大的顺序排序。 (2)计算输出三个数的和与平均值。 输出效果如下(其中a、b和c的值随机生成): 原始值: a=97, b=89, c=99 (方法一)升序值: a=89, b=97, c=99 (方法二)升序值: a=89, b=97, c=99 三个数值的和=285 ,平均值= 95 提示: (1)可使用比值法或求最大最小值函数等多种方法 (2)随机数生成可以使用 import random random.randint(0,100) 来生成0~100之间的随机整数。
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!