C语言题,在键盘上输入N个整数,试编制程序使该数组中的数按照从大到小的次序排列,要求用冒泡法,选择法

供稿:hz-xin.com     日期:2025-01-13
在键盘上输入N个整数,试编制程序使该数组中的数按照从大到小的次序排列。

#include
#define N 80
void main()
{
int a[N],i,m=100;
void sort(int b[],int k);
void print(int b[],int k);
printf("
Input m(<80):");
scanf("%d",&m);
for(i=0;i<m;i++)
scanf("%d",&a[i]);
sort(a,m);
print(a,m);
return 0;
}
void sort(int b[],int k)
{
int i,j,t,flag;
for(j=0;j<k-1;j++)
{
flag=0;
for(i=0;i<k-j-1;i++)
if(b[i]>b[i+1])
{
t=b[i];
b[i]=b[i+1];
b[i+1]=t;
flag=1;
}
if(flag==0) break;
}
}
void print(int b[],int k)
{
int i;
for(i=0;i<k;i++)
{
if(i%4==0) putchar('
');
printf("%-6d",b[i]);
}
}
已经用vc++调试过了,应该没有问题了,先输入要排序元素的个数,然后在输入元素
输入元素的个数可以自己修改

数组下标从0开始,所以把所有的for的表达式1的赋值改为0,判断条件改为由<=改为<

#include <stdio.h>

main()

{

int a[10],i,j,t;

printf("Please input 10 numbers: ");/*输入源数据*/

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

scanf("%d",&a[i]); /*排序*/

for(j=0;j<9;j++) /*外循环控制排序趟数,n个数排n-1趟*/

for(i=0;i<9-j;i++) /*内循环每趟比较的次数,第j趟比较n-j次*/

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

/*相邻元素比较,逆序则交换*/

{ t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}/*输出排序结果*/

printf("The sorted numbers: ");

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

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

printf("\n");

}

C语言题,在键盘上输入N个整数,试编制程序使该数组中的数按照从大到小...
int a[10],i,j,t;printf("Please input 10 numbers: ");\/*输入源数据*\/ for(i=0;i<10;i++)scanf("%d",&a[i]); \/*排序*\/ for(j=0;j<9;j++) \/*外循环控制排序趟数,n个数排n-1趟*\/ for(i=0;i<9-j;i++) \/*内循环每趟比较的次数,第j趟比较n-j次*\/ if(a...

C语言 在键盘上输入N个整数,试编制程序使该数组中的数按照从小到大的...
数组下标从0开始,所以把所有的for的表达式1的赋值改为0,判断条件改为由<=改为<

键盘输入n个整数(n值也由键盘输入),统计n个整数中奇数的个数及输出...
&n);\/\/输入整数数值printf("Input numbers:");for(i=0;i<n;i++)scanf("%d",&number[i]);\/\/输出奇数for(i=0;i<n;i++){if(number[i]%2!

c语言键盘输入n个正整数,把他们看作一个,"数圈",求其中连续四个数之...
max=0,index;int *a;printf("输入n:");scanf("%d",&n);a=(int*)malloc(sizeof(int)*n);printf("输入%d个数:",n);for(int i=0;i<n;i++){scanf("%d",a+i);}for (int i = 0; i <= n; ++i) {int m=0;

用c语言.从键盘上输入N个整数,按逆序输出这些数。
include"stdio.h"define N 10 main(){ int a[N]={...},i;printf("请输入数值:\\n");for(i=0;i<N;i++)scanf("%d",a[i]);printf("逆序输出的结果为:\\n");for(i=N-1;i>=0;i--)printf("%3d",a[i]);}

从键盘输入n个整数,求最大数和次大数(c语言编程)
{ scanf("%d",&t); if(t>iMax) iMax=t; else{ if(0==i) iSecMax=t; else if(t>iSecMax) iSecMax=t; } } printf("%d\\t%d\\n",iMac,iSecMax); return 0; }求采纳,谢谢

C语言从键盘输入n(要求手动输入)个整数,求这n个整数的最大值、最小值...
if(n < = 0)\/\/n小于=0 非法;return;for(i = 0;i < n;i++){ scanf("%d",&val);if(i == 0)\/\/第一次输入的值 赋值给 最大值 最小值; 序号都赋值为0;{ max_v = val;min_v = val;max_i = i;min_i = i;} else { if(val > max_v) \/\/当输入的值 比最大值...

用c语言编程:键盘上输入N个整数,使该数组中的数按照从小到大的次序排列...
printf("Please enter %d integer(s)...\\n",N);for(i=0;i<N;scanf("%d",a+i++));\/\/输入 for(i=0;i<N;i++){\/\/选择法排序 for(k=i,j=k+1;j<N;j++)if(a[k]>a[j])k=j;if(k!=i)j=a[k],a[k]=a[i],a[i]=j;printf("%d ",a[i]);} printf("\\n");re...

.从键盘上输入N个整数保存在数组中,用选择法排序将其按降序排列。_百度...
k]);} printf("\\n第%i轮排序结果:\\n",i+1);printArray(a,n);} } main(){ int a[50];int i,n=0;scanf("%d",&n);for(i=0;i<n;i++){ scanf("%d",&a[i]);} printf("\\n\\n原始———选择———:排序前\\n");printArray(a,n);selectSort(a,n);getch();} ...

从键盘输入n个数,求这n个数的最大数与最小数,并输出结果
以下是一个使用C++语言从键盘输入n个数,求这n个数的最大值和最小值的示例程序:```cpp include <iostream> using namespace std;int main() { int n, num, max_num = INT_MIN, min_num = INT_MAX;cout << "请输入整数个数n:";cin >> n;for (int i = 0; i < n; i++) ...