c语言问题。比较是个数字大小的程序,为何显示错误

#include <stdio.h>
void main()
{

int a[10];
int i,j,k;
printf("input\n");
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])
{k=a[j];
a[i]=a[j];

a[j]=k;}
}
for(i=0;i<10;i++)
printf("%d ",a[i]);}

#include <stdio.h>
void main()
{

int a[10];
int i,j,k;
printf("input\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
if(a[i]>a[j])
{k=a[j];
a[j]=a[i];//1、出错

a[i]=k;}//2、出错
}
for(i=0;i<10;i++)
printf("%d ",a[i]);}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-07
k=a[j];
a[i]=a[j];

a[j]=k;}

改成
k=a[i];
a[i]=a[j];
a[j]=k;
第2个回答  2011-12-09
for(j=i+1;j<10;j++)
=>
for(j = 0; j < 10 - i; j++)

c语言程序比较三个数的大小,可以编译运行,但是输的结果是错的,这是...
错就错在代码上,不是“代码没问题”,而是“代码的问题没有被纠正”。请把第7,9,11行中的逗号,修改为 &&,然后重新编译。另外,运行时输入的三个数字之间的逗号,也不能是中文逗号,运行时,请把中文输入法关闭后,输入英文的逗号。这样就可以得出正确结论了。

初学C语言 写个比数字大小的程序 不知道哪错了
程序没错,如chenwenwen0210 所说,就是输入格式和你输入的样式不对应造成的,这个对初学者来说,是一个很纠结的问题,一般来说,多个数据用一个scanf输入,建议最好用空格或者逗号个开,输入的时候也要对应的用空格或者逗号隔开 要是中间有字符串的输入,一般来说不能同时用一个scanf输入,因为逗号或...

c语言用for循环比较数字大小感觉逻辑正确 但结果不对 求大侠们指教_百 ...
include<stdio.h>int main(){ int max=-32766, i, a[3]; scanf_s("%d c%d c%d", &a[0], &a[1], &a[2] ); for (i = 0; i < 3; i++){ if (a[i]>max){ max = a[i]; } } printf("max=%d\\r\\n", max); return 0;}~~~...

c语言比较两个数大小为什么一直不对
程序没有问题。上面就是这个程序未加修改,直接编译后运行的结果。问题在于这个程序,要求两个数字之间要以英文的逗号作为分隔的。include <stdio.h>int main(){ int max(int x,int y); int a,b,c; scanf("%d,%d",&a,&b); \/\/就是这里,其实可以写为scanf("%d%d",&a,&b);运行...

c语言比较两个数大小的编程帮我看看那里错了
main(){ int a,b,c;scanf("%d%d",&a,&b);if(a>b)a=c;\/\/应该是c=a else b=c;\/\/应该是c=b printf("%d",c);getch();}

c语言(大小比较),每次只输出a的值,我估计是max函数出了问题,却不知道错...
一、错误并不在程序中,而是你的输入有问题。输入时在两个数字之间加一个逗号即可。程序中,scanf语句中写的是“%d,%d”,这就要求你在输入时,两个数字之间也要加一个逗号,写成“12,23”,才能正确输入a与b的值,你输入时丢了逗号,使b不能正确输入23的值,所以得到看似错误的结果。二、你把...

c语言指针函数比较一串数字大小! 为何不能正常输出
include "stdio.h"void max_min(int *p,int n,int &max,int &min)\/\/ 修改{ int i; max=min=p[0];\/\/ 修改 for(i=1;i<n;i++) {if(*(p+i)>max) max=*(p+i);\/\/ 修改if(*(p+i)<min) min=*(p+i);\/\/ 修改 } \/\/ return;\/\/ 修改,当然这句不改...

c语言问题 输入两个数 比较其大小 将较大的数输出 如图 为什么会这样...
你要知道,scanf函数内引号部分和printf是一样的,你的两个%f之间没有任何字符,理论上来说应该用空格隔开(输入时也用空格隔开)或者是用逗号隔开(输入时也用逗号隔开)两个数,当然,用于隔开的可以是一长串字符(你输入两个数中间也得这样)。总之就是原样照搬。至于你这个,我也不好解释,两个没...

我有一个问题,用计算机C语言编写关于比较数值大小的问题?
1、纯粹用if语句来比较大小排序是可以的。2、错误的地方:1)scanf中%d之间的逗号应该是英文输入法下的逗号。2)if比较中没有考虑有两个数字相等的情况,当出现任意两个数字相等的情况下都会走到else分支中。3)最后的else分支写法有问题,看图:

C语言,dev cpp,编写的计算阶乘程序,数值较大时输出不正确,求助.
而unsigned long long,C中就没有这种数据类型。而double就不同了,它能有15-16位有效数字,记数能记录到10^308,所以能够计算13!,但是也不会算的太大,一般也就到20!左右,毕竟阶乘数字增加的太猛啦!C语言当数字超过它的记录范围时不会报错,而是出现错误的数字,这要靠操作都判断,千万不要...

相似回答