当前位置:首页 » 操作系统 » 十个数算法

十个数算法

发布时间: 2022-07-24 19:15:13

1. 设计一个计算10个数的平均数的算法 (用直到型和当型)

算法可以这样描述:
S1:S=0;
S2:I=1;
S3:输入一个数G;
S4:使S+G,其和仍放S中;
S5:使I的值增加1;
S6:如果I>10,退出循环,如果I≤10重复S3;
S7:将平均数S/10存放在A中;
S8:输出A.
按着算法就可以画程序框图了

2. 输入10个数,用冒泡排序法按由小到大顺序排序并输出c语言

冒泡排序的程序代码如下:

#include<stdio.h>

int main()

{

int a[10]={0};

int i=0,j=0,t=0;

for(i=0;i<10;i++)

{scanf("%d",&a[i]);}

for(i=0;i<10;i++)

{for(j=0;j<10-i;j++){

if(a[j]>a[j+1])

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}}}

for(i=0;i<10;i++)

{printf("%d ",a[i]);}

return 0;}

任意输入十个数据,程序运行结果:

(2)十个数算法扩展阅读:

冒泡排序算法的原理如下:

1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。

2、对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

3、针对所有的元素重复以上的步骤,除了最后一个。

4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

3. 利用选择法,描述将10个数按从大到小顺序排列的基本思路与算法流程

选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最大的记录作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。

java选择排序法代码

import java.util.Random;

public class ArrayDemo {

public static void main(String[] args) {

Random random=new Random();

int[] pData=new int[10];

for(int i=0;i<pData.length;i++){ //随机生成10个排序数

Integer a =random.nextInt(100);

pData[i]= a;

System.out.print(pData[i]+" ");

}

System.out.println();

pData=Choose(pData);

for(int i=0;i<pData.length;i++){

System.out.print(pData[i]+" ");

}

System.out.println();

}

public static int[] Choose(int[] pData){

System.out.println();

int k;

for (int i = 0; i < pData.length; i++) {

k = i;

for (int j = i; j < pData.length; j++) {

if(pData[j]<pData[k]){k = j;}

}

int a=pData[i];

pData[i]=pData[k];

pData[k]=a;

}

return pData;

}

}

(3)十个数算法扩展阅读:

其他排序方法:

简单选择排序的基本思想:第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;

以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕。

以下为简单选择排序的存储状态,其中大括号内为无序区,大括号外为有序序列:

初始序列:{49 27 65 97 76 12 38}
第1趟:12与49交换:12{27 65 97 76 49 38}
第2趟:27不动:12 27{65 97 76 49 38}
第3趟:65与38交换:12 27 38{97 76 49 65}
第4趟:97与49交换:12 27 38 49{76 97 65}
第5趟:76与65交换:12 27 38 49 65{97 76}
第6趟:97与76交换:12 27 38 49 65 76 97 完成

4. 设计一个计算10个数的平均数的算法的程序框图.

思路分析:我们用一个循环依次输入10个数,再用一个变量存放数的累加和,在求出10个数的和后,除以10,就可得到10个数的平均数.本题可用两种循环方式. 解法一:用循环形式2循环结构设计算法框图如图1-1-9(1): 虚线框内就是循环形式2循环结构,其中包含一个条件分支结构. (1) (2) 图1-1-9 解法二:用循环形式1循环结构设计算法框图如图1-1-9(2).虚线框内就是循环形式1循环结构,其中包含一个条件结构. 点评:一个循环结构,可以用形式1,也可以用形式2.但根据条件限制的不同,有时用形式1比形式2好,有时用形式2比形式1好,关键看条件.有时用两种类型都很方便,我们要学会分析题目的控制循环条件,循环结构前、后都可以有多个语句,这两个循环结构内还包含着一个顺序结构.一般说来,这三种结构贯穿于程序中,相互结合,使程序更完美.但在一个算法中,这三种结构不一定同时存在,可能会有一种或两种不存在.

5. ‘’构造一个算法,找出十个数字中最小的那个数‘’怎么做

定义最小值变量,初始化为第一个数字值。
依次与剩余9个数对比, 如果当前最小值,比这个数小,则赋值该数为最小值。
遍历后, 最小值变量中存储的 就是十个数的最小值了。

6. 依次将10个数输入,要求将其中最大的数输出.这个问题的算法怎么写才好啊><

用打擂台的方法。。。基本意思就是将第一个数放进去,然后依次和10个数比,大的留下。算法如下:#include<stdio.h>
int main()
{
int a[10],i,max;//定义一个数组来存放着10数。
printf("please enter 10 numbers:\n");
for(i=0;i<10;i++)//用一个for循环来输入10数。
scanf("%d",&a[i]);
for(max=a[0],i=0;i<10;i++)//用for循环让这10个数一次和max比。
if(max<a[i])
max=a[i];
printf("The max number is:%d\n",max);
return 0;
}经过验证 没有错误。这是学习数组的一个非常基本的程序

7. 设计一个计算10个数的平均数的算法 (用直到型和当型)

算法可以这样描述:

S1:S=0;

S2:I=1;

S3:输入一个数G;

S4:使S+G,其和仍放S中;

S5:使I的值增加1;

S6:如果I>10,退出循环,如果I≤10重复S3;

S7:将平均数S/10存放在A中;

S8:输出A.

按着算法就可以画程序框图了

热点内容
阿里云服务器能搭美国站点 发布:2025-01-20 01:49:34 浏览:276
安卓手机壁纸如何更换成动态壁纸 发布:2025-01-20 01:40:27 浏览:705
安卓微信签名在哪里修改 发布:2025-01-20 01:25:31 浏览:109
安卓电脑管家怎么恢复出厂设置 发布:2025-01-20 01:24:06 浏览:313
qt编译sqlite库 发布:2025-01-20 01:22:30 浏览:525
360摄像头存储设置 发布:2025-01-20 01:16:01 浏览:538
js防缓存 发布:2025-01-20 01:15:47 浏览:495
编程生日卡 发布:2025-01-20 01:15:14 浏览:206
android备忘录源码 发布:2025-01-20 01:06:32 浏览:455
怎么禁用aspx缓存 发布:2025-01-20 01:00:50 浏览:688