C语言习题,输入n个数,输出第k个大的数和第k个小的数

如题所述

#include<stdio.h>
int main(){
int a[10000];
int n,temp,i,k,j;
printf("请输入你要输入的数的个数n:\n");
scanf("%d",&n);
for(i=0;i<n;i++){
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
for(i=0;i<n;i++){
for(j=i+1;j<n;j++){
if(a[j]<a[i]){
temp=a[j];
a[j]=a[i];
a[i]=temp;}
}
}

printf("请输入你要的到第几小/大的数K:\n");
scanf("%d",&k);
printf("第%d大的数为%d\n",k,a[k-1]);
printf("第%d小的数为%d\n",k,a[n-k]);
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-12-16
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
int n,k;
int a[100]; 
scanf("%d",&n);
scanf("%d",&k);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,a+n);
printf("%d %d",a[k-1],a[n-k]);
}

C语言习题,输入n个数,输出第k个大的数和第k个小的数
printf("第%d大的数为%d\\n",k,a[k-1]);printf("第%d小的数为%d\\n",k,a[n-k]);return 0;}

C语言输入N个数输出最大值和最小值
void main(){ int i,j,temp,count;printf("请输入你需要输入的个数:");scanf("%d",&count);while(count<=0||count>10000){ printf("个数必须在1到10000之间!\\n\\n");printf("请输入你需要输入的个数:");scanf("%d",&count);} int num[count];for(i=0;i<count;i++){ printf...

...个不同的数,每个数都小于10的六次方,求第k小的数与第k大的数...
include <stdio.h> #include <stdlib.h>#include #define MAX 500 \/\/预定义数组长度,方便更改、调试void quitSort(int a[],int s,int t)\/\/对a[s]至a[t]的元素\/\/按从小到大顺序,快速排序{ if(s<t) { int i=s,j=t; int temp=a[s]; while(i<j) { whi...

C语言:输入n个数,求其最大数、最小数和平均值。
avg=sum\/N; printf("min=%d\\n",min); printf("max=%d\\n",max); printf("avg=%.3f\\n",avg); return 0; } 输入10个数据,程序运行结果:扩展资料: 程序解析: 先使用宏定义一个常熟N,表示数组大小,用来存放输入的数据,方便修改。定义一个数组a[]存放数据,通过scanf函数输入数据,先给min、max...

用C语言写程序 , 输入N个数字,打印其中的最大数和最小数的位置,如果有...
int n = 0;int i = 0, buf, min, max, min_index, max_index;scanf("%d", &n);while (i < n){ scanf("%d", &buf);if (i == 0){ min_index = max_index = i;min = max = buf;} else { if (buf < min){ min = buf;min_index = i;} else if (buf > max)...

任意输入n个数,输出其中最大值与最小值,并输出它在序列中的位置!C语 ...
—编程思想是定义五个变量,分别保存当前读入的值,以及保存最大值和最小值以及相应编号的变量。使用do while循环读入变量,首先把最大值和最小值初始化成第一个读入的值,后续的循环就是判断当前读入的值是否比最大值大或者最大值小,从而实时修改相应的值即可。最后设立一个结束的标识符。

C语言:从键盘输入n个数,求最大值和最小值(用数组)
}\/* 计算数组最大值、最小值、总和、平均值 *\/\/* arr[]: 目标数组; len: 元素个数 *\/void calcArray (elemType arr[], int len, elemType *max, elemType *min) {int i;*max = *min = arr[0];for (i=0; i<len; i++) {if (arr[i] > *max)*max = arr[i];if (arr[...

c语言编程,输入n个数,输出其最大值和最小值
printf("你要输入几个数:");scanf("%d",&n);printf("输入%d个数:",n);int s[n];scanf("%d",&s[0]);int min=s[0],max=s[0];for(int i=1;i<n;i++){scanf("%d",&s[i]);if(min>s[i])min=s[i];if(max

C语言求算法,任意输入n个数(n为变量) 输出这几个数按从大到小排名时所 ...
= Min--; } printf("从大到小的位序为:\\n"); for(i = 0; i < n; i++) printf("%-4d", t[i]); printf("\\n原来的数据为:\\n"); for(i = 1; i <= n; i++) printf("%-4d", s[i]); printf("\\n");} 运行结果 ...

C语言。编写程序。实现输入n个整数。输出其中最小的数。并指出是第几...
1、首先需要定义一个Max最小值变量。2、然后把首地址的值赋予最小值。3、接下来就可以开始进行便利查找。4、如果有个数大于最大值便可以自动替换。5、然后就可以把最小值进行输出。6、然后进行运行后,就可以看到屏幕上显示最小值。

相似回答