数字排序问题
输入10个数排序,感觉temp那块有问题,具体哪里错了求教。#include <stdio.h>
#include <math.h>
int main(void)
{
int i,j,temp,a;
for (i=0;i<=9;i++)
{
scanf("%d",&a);
}
for (i=0;i<=8;i++)
{
for (j=i+1;j<=9;j++)
{if (a>a)
temp = a;
a = a;
a = temp;}
}
for (i=0;i<=9;i++)
{
printf("%d",a);
}
return 0;
} 圈圈的大括号的位置加错了,应该这样写:
if (a>a){
temp = a;
a = a;
a = temp;} tommyyu 发表于 2022-10-31 15:01
圈圈的大括号的位置加错了,应该这样写:
if (a>a){
temp = a;
谢谢,我眼瞎{:5_107:} kevinde2022 发表于 2022-10-31 15:17
谢谢,我眼瞎
可是为什么加在if前面就不对呢 本帖最后由 tommyyu 于 2022-10-31 15:31 编辑
kevinde2022 发表于 2022-10-31 15:19
可是为什么加在if前面就不对呢
因为 if 语句默认是把后面的一个语句当作 if 语句下的内容
例子:
if(1+1 == 2)
printf("1+1=2");
printf("^o^");
上面的代码中,由于没有括号,所以 if 语句下的内容只有 printf("1+1=2"); 这一句。
如果代码变成if(1+1 == 2) {
printf("1+1=2");
printf("^o^");
}
if 语句下就会有printf("1+1=2"); 和 printf("^o^"); 两条语句 tommyyu 发表于 2022-10-31 15:30
因为 if 语句默认是把后面的一个语句当作 if 语句下的内容
例子:
原来如此 三克油
页:
[1]