如何用一个循环输出一个数组中最小数和次小数的和(数组无序)?
发布网友
发布时间:2022-10-28 18:55
我来回答
共3个回答
热心网友
时间:2023-10-09 08:40
(1)排序,先找出最大和最小的数
(2)求和。
下面是一个例子:
main()
{
int i,j,temp(中介的作用),sum(和);
int a[10]; /*这是一个已知的数组*/
for(i=0;i<9;i++) /*
for(j=i+1;j<10;j++)
if(a[i]>a[j]) 这是冒泡排序法,从小到大排序
{
temp=a[i];
a[i]=a[j]; */
a[j]=temp;
}
sum=a[0]+a[1]; /*求出最小数和次最小数的和*/
printf("最小数+次最小数=%d\n",sum);
}
其实这道题,有多种解法,只要您能把c语言学得运用自如了,当然这道题就不在话下啦!加油哦....
另外:一楼兄弟的冒泡排序法错啦!有误哦...
热心网友
时间:2023-10-09 08:40
main()
{
int a[10];
int i,j,t;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
{
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
printf("%d",a[0]+a[1]);
getch();
}
先给数组里的数按小到大排序,然后数组前两个数相加就是数组中最小数和次小数的和。
热心网友
时间:2023-10-09 08:41
c语言的循环嵌套语句在运用上虽然麻烦但是在解决问题的结构上比较强,不一定要非要用一个。只用一个过程难度就提高了。
求一个数组中所有数的整数部分和及小数部分和
num[max]={10.2,2.3,3.6,2.5,3.2}; int i,j,sum=0; for(i=0;i<max;i++) { sum+=(int)num[i]; a+=num[i]-(int)num[i]; } printf("%d %f",sum,a); getch();} 满意
C 找数组中最小的元数,找出最小数下标并返回,在主函数中打印最小数...
min_num = min(nums, &size);printf("数组中最小数是%d, 下标是%d", min_num, size);return 0;}
c语言求数组中最大值和最小值及其下标
public static void main(String[]args){ int[]array={13,56,45,48,26,55,7,3,9,468,4589,76,4,3,18};//声明数组并赋值 int i=0;int max=array[0];//最大值 int min=array[0];//最大值 int indexMax=-1;//最大值索引 int indexMin=-1;//最小值索引 //使用for循环判断 ...
VB 怎么用数组求最大数和最小数 以及排序
1、选择法排序算法思想: 1)对有n+1个数的序列(存放在数组a(n)中),从中选出最小(升序)或最大(降序)的数,与第1个数交换位置; 2)除第1 个数外,其余n个数中选最小或最大的数,与第2个数交换位置; 3)依次类推,选择了n次后,这个数列已按升序排列。例:For i =...
请编写程序,输入8个整数放入一维数组w中,找出其中的最小数和最大数,
下图是程序运行的示例:下面是实现的代码,您可以参考一下:include <stdio.h>#define SIZE 8 void bubble_sort(int a[], int n); void bubble_sort(int a[], int n){ int i, j, temp; for (j=0; j<n-1; j++) for (i=0; i<n-1-j; i++) { if(a[i] ...
用C#找出数组中的最大值和最小值
1、以C#控制台应用程序为例:int[] input = { 0,0,0,0};Console.Write("输入4个整数,之间以逗号分隔。回车键结束输入...\r\n");string str = Console.ReadLine(); //读入一行用户输入信 string[] nums = str.Split(new char[] { ',' }); //以逗号为分隔符,分离出各项 if (...
数组表示方法
数组操作通常是逐个进行,不能一次性引用整个数组,比如,若要输出一个包含10个元素的数组,需要循环遍历,如下所示:cfor(i=0; i<10; i++) printf("%d", a);而在下面的代码中,试图一次性输出整个数组是不允许的:`printf("%d", a);`在给数组赋值时,除了逐个元素赋值,还有初始化赋值...
输入20个数,求其中最大数和最小数 c语言 不用数组 用循环结构
建议使用最符合直觉的选择排序。考虑到不能使用数组,那就只能在每次输入时比较,立即出结果 input 一个数, prev为输入的上一个数 int MAX = prev;int MIN = prev;if(curr > MAX){ MAX = curr;} else if(curr < MIN){MIN = curr;} 最后MAX里就是最大的数,MIN就是最小的数 ...
java 3. 编写一程序,实现如下功能:
利用Random+for循环取随机数,循环中每个随机数和之前定义的最小数和最大数比较,并记录下标。代码如下:public class Test9 {public static void main(String[] args) {Random r = new Random();int[] arr = new int[50];int max, indexMax = 0, indexMin = 0;int min = r.nextInt(34...
输入一个正整数,输出由该数的各位能表示的最大数和最小数
} void main(){int i,n;int a[10];scanf("%d",&n); //输入 i=n;while(i!=0) //取位对数组赋值 {a[cnt++]=i%10;i/=10;} order_arr(a);for(i=0;i<cnt;i++)printf("%d",a[i]);//输出 printf("\n");for(i=0;i<cnt;i++)printf("%d",a[cnt-i-1]);} ...