C语言数组 输入n个数据(n由操作者从键盘输入,n<20)怎么输,要排序

供稿:hz-xin.com     日期:2025-01-13
C语言数组 输入n个数据(n由操作者从键盘输入,n<20)怎么输,要排序

(1)
int
a[6];
改为
int
n,a[20];
scanf("%d",&n);
if(n>20)
{
printf("Error!
");
return
1;
}
(2)
将后面各有关语句中的:
5
改为
n
4
改为
n-1
6
改为
n+1

数组的大小可以先固定为20,然后键盘输入一个n来确定输入数据的个数,然后这里用个循环,从键盘上依次给数组中的值赋值,最后用一个排序的函数来改变数组中的值就可以了。

数组的大小可以先固定为20,然后键盘输入一个n来确定输入数据的个数,然后这里用个循环,从键盘上依次给数组中的值赋值,最后用一个排序的函数来改变数组中的值就可以了。

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

int compare (const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}

int main ()
{
int n;
int i;
int *values;
printf("请输入n:");
scanf("%d",&n);
assert(n>0);
values=(int*)malloc(n*sizeof(int));
for(i=0;i<n;i++)scanf("%d",values+i);
qsort (values, n, sizeof(int), compare);
for (i=0; i<n; i++)printf ("%d ",values[i]);
printf("\n");
free(values);
system("pause");
return 0;
}

C语言数组 输入n个数据(n由操作者从键盘输入,n<20)怎么输,要排序_百 ...
数组的大小可以先固定为20,然后键盘输入一个n来确定输入数据的个数,然后这里用个循环,从键盘上依次给数组中的值赋值,最后用一个排序的函数来改变数组中的值就可以了。

c语言如何输入一个正整数N再输入N个整数按从小到大的顺序输出
int main() { int N, i, j, temp;int arr[100]; \/\/ 假设N不超过100,可以根据需要调整大小 printf("请输入一个正整数N: ");scanf("%d", &N);if (N <= 0) { printf("请输入一个正整数。\\n");return 1;} printf("请输入%d个整数:\\n", N);for (i = 0; i < N; i++...

C语言,数组。用键盘输入n个学生的姓名,并按字典顺序排序输出,n值由键 ...
{int n,i,j;char s[100][20],t[20];scanf("%d",&n);for(i=0;i<n;i++)scanf("%s",s[i]);for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(strcmp(s[j],s[j+1])>0){strcpy(t,s[j]);strcpy(s[j],s[j+1]);strcpy(s[j+1],t);} printf("\\n\\nAfter:\\n...

vb 编程 用for循环向一维数组中输入N个数,N的值由输入对话框输入
min = s1(i)n = i End If Next i s1(n) = max: s1(x) = min MsgBox "交换后数组"For i = 0 To kn - 1 MsgBox s1(i)Next i End Sub

c语言,如何将键盘输入的n个整数存入一个数组中,n的大小未知?
为了将未知数量的整数从键盘输入存储到数组中,可以采用动态分配内存的方法。这种方法能灵活处理不同数量的输入,而无需预先确定数组的大小。下面是一个示例代码:include int main() { int *a, i = 0, num;printf("请输入数据,中间用空格间隔,用回车结束输入:\\n");a = (int *)malloc(1 *...

c语言 一维数组 长度自定的 输入数组数组的长度 并且输入n个数。
include "stdio.h"main(){ int i,n;float a[100];printf("please input the length of array A:\\n");scanf("%d",&n);printf("please input the %d numbers:\\n",n);for(i=0;i<n;i++){ scanf("%f",&a[i]);} printf("the numbers are:\\n");for(i=0;i<n;i++){ print...

c语言数组编程,输入n个整数,将这n个数按绝对值由大到小排序输出_百度知 ...
printf("\\n"); return 0;}好了,调试通过,输入数组后,先打印排序前的数组,然后排序,之后输出排序后的数组。。。 本回答由网友推荐 举报| 答案纠错 | 评论 2 17 右手兂名指 采纳率:69% 来自团队:CppExpert 擅长: C\/C++ Linux 网站使用 其他回答 如上!!! dongsimin321 | 发布于2012-05-25 举报...

c语言数组编程,输入n个整数,将这n个数按绝对值由大到小排序输出_百度知 ...
{ intn,i,j,t;inta[11];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=1;i<n;i++){ for(j=0;j<n-i;j++){ if(a[j]<a[j+1]){ t=a[j];a[j]=a[j+1];a[j+1]=t;} } } ...

C语言编程中如何输入N个整数
循环N次 每次输入一个就好。可以随输入随处理,也可以存到数组里面。样例 int N,t;scanf("%d",&N);while(N--){ scanf("%d",&t); ...}

用一维数组输入n个整数,将这n个整数逆序存放。
include "stdio.h"main(){ int a[10],i,temp;printf("请输入10个整数,以空格隔开:");for(i=0;i<10;i++){ scanf("%d",&a[i]);} for(i=0;i<5;i++){ temp=a[i];a[i]=a[9-i];a[9-i]=temp;} printf("\\n反序输出为:");for(i=0;i<10;i++)printf("%d\\t",...