哪里错了?该怎么改正呢?
#include<stdio.h>
#include<conio.h>
int main()
{
int a[10],i,n;
printf("请输入数字:\n");
for(i=0;i<=9;i++)
{
scanf("%d",&a[i]);
}
void array(int x[],int n);
array(a,10);
printf("从小到大排列为:\n");
for(i=0;i<=9;i++)
{
printf("%d ",a[i]);
}
getch();
return 0;
}
void array(int x[],int n)
{
int i,j,t;
for(i=0;i<=9;i++)
{
for(j=1;j<=9;j++)
{
if(x[i]>x[j])
{
t=x[i];
x[i]=x[j];
x[j]=t;
}
}
}
}
最后一个for循环 j=0 而不是j=1
给你标上了
#include<stdio.h>
#include<conio.h>
int main()
{
int a[10],i,n;
printf("请输入数字:\n");
for(i=0;i<=9;i++)
{
scanf("%d",&a[i]);
}
void array(int x[],int n);
array(a,10);
printf("从小到大排列为:\n");
for(i=0;i<=9;i++)
{
printf("%d ",a[i]);
}
getch();
return 0;
}
void array(int x[],int n)
{
int i,j,t;
for(i=0;i<=9;i++)
{
for(j=1;j<=9;j++)
{
if(x[i]>x[j])
{
t=x[i];
x[i]=x[j];
x[j]=t;
}
}
}
}
而且 n是多余的 有没有不影响 还占用资源!
C语言:采用冒泡排序方法,对10个数按由小到大的的顺序排序
int main(){ int i,j,t,a[10]={5,4,8,3,6,9,7,222,64,88};\/\/排序 for(i=1;i<10;i++)\/\/外循环控制排序趟数,n个数排n-1趟 { for(j=0;j<10-1;j++)\/\/内循环每趟比较的次数,第j趟比较n-i次 { if(a[j]>a[j+1])\/\/相邻元素比较,逆序则交换 { t=a[j];a[j...
用c语言定义一个大小为10的整型数组,利用冒泡排序法将数组元素从大到...
include <stdio.h>int main(){ int a[10]={1,2,3,4,5,6,7,8,9,10}; int i,j,t; for(i=1;i<10;i++) for(j=0;j<10-i;j++) { if (a[j]
如何用编程实现10个数从大到小输出?
int main(){ int i,j,a[10],t;printf("输入数");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("从大到小");...
C语言~十个数字从小到大怎么排列~从大到小呢~
int a[10],i,j,t;printf("请输入10个整数:\\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++)for(j=0;j<9-i;j++)if(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t;} printf("排序以后的数:\\n");for(i=0;i<10;i++)printf("%d "...
求C语言将数组元素大小排序!!
C语言将数组元素大小排序方法:以下使用的是冒泡排序法实线数组从小到大排序。思想:每次相邻两个数比较,若升序,则将大的数放到后面,一次循环过后,就会将最大的数放在最后。10、2、3、4、5、6、9、8、7、1是输入的待排序的数列,经过第一次排序,将最大的,10放在最后,第二次排序,将剩下的...
C语言 输入10个数按大小排列输出
For (I = 0;我< 10;我+ +){ if the scanf (" % ", & a [I]);\/\/从键盘输入十个数字到数组中;} For (I = 1;我< 10;i++)\/\/for循环,执行9个循环;{ 对于(j = I - 1;J > = 0;J——)\/\/for循环,在每个大循环中,将a[I]从a[1]比较到它之前的数字;{ If (a[...
c语言 用选择法对10个整数从小到大排序
c=j; \/\/记住最小值的下标。} } if(c !=i) \/\/进行交换。{ int temp = a[i];a[i] = a[c];a[c] = temp;} } } int main(){ int a[10]={1,3,5,7,9,2,4,6,8,10};sort(a,10);int i;for(i=0;i<10;i++){ printf("%d ",a[i]);} getchar();return 0;}...
C语言下面简单代码输出的为什么都是0 而不是1 2 3 4 5 6 7 8 9 请...
类型不匹配。%d是取int型数字,通常都是4个字节。float一般都是8个字节。所以用%d打印的话只会取其前四个字节。按照二进制排列顺序,在数字不是特别大得时候,前四个字节都是0.把%d换成%f打印试试。
...中输入10个整数,并将这些数按从小到大顺序排列。
for(i=0;i<10;i++){ printf("请输入第%d个数:",(i+1));scanf("%d",num[i]);} for(i=0;i<10;i++){ for(j=0;j<10-i;j++){ if(num[j]>num[j+1]){ temp=num[j];num[j]=num[j+1];num[j+1]=temp;} } } printf("这10个数从小到大的顺序是:");for(i=0...
c语言排序问题
void main(){ int i,p,z,a[10]={10,9,7,6,1,2,8,5,3,4};for(i=0;i<=9;i++){ for(p=i+1;p<=9;p++){ if(a[i]>a[p]){ z=a[i];a[i]=a[p];a[p]=z;} } } for(i=0;i<=9;i++){ printf("%d,\\n",a[i]);} } 帮你改过了,你的是少循环了一次...