对15个数进行排序,按从小到大的顺序输出。这个代码哪里错了?

作者&投稿:潜星 (若有异议请与网页底部的电邮联系)
vc 编程:输入15个整数存入一维数组,并对于15个数进行排序,按从小到大的顺序输出~

#include int main(){ intnum[15]; inti = 0; intj = 0; //输入15个两位整数 while(i num[j]) { inttemp = num[i]; num[i] = num[j]; num[j] = temp; } } } //输出排序后的数组 for(i = 0;i < 15;i++) { printf("%d",num[i]); } printf("
"); return0;}

#include
int main()
{int i,j,t,a[15]={4,23,7,9,3,1,536,45,79,27,66,89,34,64,746};
printf("Begin:
");
for(i=0;i<15;i++)
printf("%d ",a[i]);
printf("
After:
");
for(i=0;i<14;i++)
for(j=0;j<14-i;j++)
if(a[j]>a[j+1])
{t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<15;i++)
printf("%d ",a[i]);
printf("
");
return 0;
}

已经调试修改完成,请仔细对照改动之处:

#include <stdio.h>

void main()

{int i,j,a[15],t;

printf("input 15 numbers:
");

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

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

for(j=0;j<14;j++)

for(i=0;i<14-j;i++)

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

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

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

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

printf("
");

}



#include <stdio.h>
int main()
{
void sort(int arr[], int n);
int arr[15];
int i,n= 15;
printf("请输入15个整数: ");
for(i=0; i<n; i++)
scanf("%d", &arr[i]);
sort(arr,n);
printf("排序后: \n");
for(i=0; i<n; i++)
printf("%d ",arr[i]);
printf("\n");
return 0;
}
/*冒泡排序,升序排列*/
void sort(int arr[], int n)
{int i, j;
int temp;
for(i=0; i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
if(arr[j] > arr[j+1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1]= temp;
}
}
}


用户从键盘上输入15个整数,计算机对这15个数按照从小到大的顺序进行排序...
void main(){int a[15],i,j,t;for(i=0;i<15;i++)scanf("%d",&a[i]);for(i=0;i<14;i++)for(j=0;j<15-i;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} printf("After sort:\\n");for(i=0;i<15;i++)printf("%d ",a[i]);printf("\\n"...

15个同学排成—排,从左边数起,小红是第12个,从右边数起,小刚是第10个...
排序数就是:第七、第八、第九、第十、第是一个

用C语言给15个数字排序,可用数组,指针,函数等
include <stdio.h>#include <stdlib.h>int main(){ int array[15],i,j; for(i=0;i<15;i++) scanf("%d",&array[i]); for(i=1;i<15;i++) { int tmp=array[i]; j=i; while(array[j-1]>tmp&&j>0) { array[j]=array[j-1];j--;} ...

vc 编程:输入15个整数存入一维数组,并对于15个数进行排序,按从小...
include<stdio.h> int main(){ intnum[15]; inti = 0; intj = 0; \/\/输入15个两位整数 while(i < 15) { printf("Inputyour number:"); scanf("%d",num+i); i++; } \/\/对数组进行冒泡排序 for(i = 0;i < 15;i++) { for(j = ...

用c语言编写,用起泡法对15个数据组成的数组进行排序 从大到小
int main(){ int array[10]={1,10,9,2,3,8,7,6,4,5};for(int i=0;i<10;i++)for (int j=0;j<10-i-1;j++){ if (array[j]<array[j+1]){ int a=array[j+1];array[j+1]=array[j];array[j]=a;} } for(i=0;i<10;i++)printf("%d ",array[i]);return 0;...

c语言 要求由大到小排列15个数
{ a[i]=rand()%500; } printf("\\n"); printf("the original data is:\\n");\/\/你所定义的数组大小为15.所以你的数组地址为0~14将16处全部改成15 for(i=0;i<15;i++) { printf("%5d",a[i]); }\/\/冒泡排序中内侧的循环才是比较需要的。 for(i=0;i<15;...

15个数在16个格子中怎么排
16格数字规律 是这样分布的 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 答案:横竖 斜线都是34 你把中间两列的8个数字扩起来,然后以横轴翻转一周,规律就很明显了 翻转后结果 16 15 14 13 5 6 7 8 9 10 11 12 4 3 2 1 如果把数字按顺序连成线,就像两个横U插到一起 ...

vb编程题将15个数从大到小进行排列
Dim a(15) As Integer Dim str As String str = ""Dim temp As Integer For i = 1 To 15 a(i) = Int(Rnd() * 90) + 10 Next For i = 1 To 15 For j = 1 To 15 - i If a(j) < a(j + 1) Then temp = a(j + 1)a(j + 1) = a(j)a(j) = temp End If...

用冒泡排序进行15个数的从大到小排序
经典排序之冒泡排序

用c++编程实现数组的排序:将有15个元素的整型数组按从小到大的次序排序...
实现:include <iostream> using namespace std;int main(){ int iNum[15] = {}; \/\/你的15个乱序元素 ;;; \/\/各种初始化处理 for (int i = 0; i < 15 - 1; i++) \/\/这里-1的原因是因为最后一个元素不需要排序,它肯定是最大\/最小的那个数了 for (int j = i; j < ...

驿城区19872582954: 用选择法对数组中15个整数按由小到大排序. -
本苏富马: main() { int i,j,temp; int a[15]; for(i=0;i<15;i++) scanf ("%d,",&a[i]); for(j=0;j<=14;j++) { for (i=0;i<15-j;i++) if (a[i]>a[i+1]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp;} } for(i=1;i<11;i++) printf("%5d,",a[i] ); printf("\n"); }

驿城区19872582954: 求注解1、用指针法对15个整数按由小到大顺序排序 -
本苏富马: int a[10],*p,*q,*r,min; 改成int a[15],*p,*q,*r,min;吧!你到底在干什么,测试编译器的能力.//只应该是选择排序.for(p=a;p{ for(q=p+1,r=p;q // 找一个位置r,让*r始终小于等于*q;if(*r>*q) // *r>*q的话, r=q; // r就是q//由于*r 比p到q所有元素都小,所以*r就是从p到q的最小元素.//交换*p,*r 最小元换到p min=*p; *p=*r; *r=min; }

驿城区19872582954: c语言编程题:用选择法对数组中15个整数按由小到大排序.
本苏富马: #include<stdio.h> void main() { int i,j,k,t,a[15]; for(i=0;i<=14;i++) scanf("%d",a[i]); for(i=0;i<15;i++) {k=i; for(j=i+1;j<15;j++) if(a[j]>a[k]) k=j; if(k!=i) {t=a[k];a[k]=a[i];a[i]=t;} } for(i=0;i<15;i++) printf("%4d",a[i]); }

驿城区19872582954: 用指针法对15个整数按由小到大顺序排序 // 解释两处就可以了 -
本苏富马: if(*(p1+i)>*(p1+i+1)) 前面的数有增加 后面的数也增加 是相邻的 .而if(*p1>*(p1+i)就不是相邻的*p1指的位置不变依旧是a.第2处 是因为你的int main() 标志着你的函数返回类型是什么,因此得返回,return 0是新的标准写法.这样便于编译器处理错误,以前旧的 写是void main() 之后就不用返回值,现在这样写规范一写.

驿城区19872582954: 用选择法对15个学生的成绩按从大到小的顺序排序的C语言程序 -
本苏富马: #include <stdio.h> #define N 15 int main() { int array[N]; printf("请输入15个学生的成绩:\n ",N); for(int i=0; i<N; i++) scanf("%d",&array[i]); for(i=0; i<N; i++) for(int j=i+1; j<N; j++) { if(array[i]>array[j]) { int t=array[i];array[i]=array[j];array[j]=t; } } ...

驿城区19872582954: C语言,输入15个整数从大到小排序,然后输入一个数字,算出这个数字在这里的位置 -
本苏富马: #include int main() {int a[15],i,n,mid,x=0,y=14,sign; printf("输入15个整数,从大到小排序:"); for(i=0;iscanf("%d",&a[i]); printf("输入你想查找的数字:"); scanf("%d",&n); if( (n>a[0])||(nsign=0; if(n==a[0]) printf("此数字为第1个"...

驿城区19872582954: 选15个互不相同的自然数(不包括0)相加,使其和为2009.将这15个数按从小到大的顺序排列,如果要求这列数的第10个数尽可能的,那么第十个数最大是... -
本苏富马:[答案] 第10个以及以后的共6个数很大,那么前9个数就要很小 那么就是123456789,相加=45 2009-45=1964 1964/6=327.333 最后5个数尽可能和第十个数相近 于是 324.325.326.327.328.329 第十个数是324

驿城区19872582954: 用冒泡法对输入的15个整数按由小到大顺序排列.?(C++编程 -
本苏富马: #include <iostream>using namespace std;int main(){ int a[15]; int i,j; cout<<"请输入15个数:\n"; for (i=0;i<15;i++) { cin>>a[i]; } for (i=0;i<15;i++) { for (j=i+1;j<15;j++) { if (a[i]>a[j]) { int tmp; tmp=a[i]; a[i]=a[j]; a[j]=tmp; } } } for (i=0;i<15;i++) { cout<<a[i]<<" "; } cout<<endl; return 0;}

驿城区19872582954: 求C语言高手相助,急啊..采用选择法对15个整数排序,排序完成后各整数按照从大到小的顺序排列.排序完成后输入一个数,要求用折半查找法找出该数... -
本苏富马:[答案] 我的程序只要改一下输入就行了:(希望能帮到你) #include #define NUM 100 struct stuInfo { int mark; }stu[NUM]; int ... printf("你准备输入数的个数:\n"); scanf("%d",&n); printf("输入具体的数:\n"); for(int i = 0;i{ scanf("%d",&stu[i]....

驿城区19872582954: 选择法排序 - 关于一道C程序题排序查找用选择法对15个学生的成绩按从大到小的顺
本苏富马: 题目中给的选择法和折半法的提示都是按数组从小到大来说的.但题目要求要把成绩按从大到小排序.这个要注意. #include void main() { int a[15],b; int i,j,t; int min,mid,max; //输入15个学生的成绩 for(i=0;i100) { printf("输入错误\n"); i--; } } //选择法排序 for(i=0;ia[mid])max=mid-1; else min=mid+1; } if(min==max) { printf("无此成绩\n"); break; } } getch(); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网