运行不了,不知道为什么
#include<stdio.h>int main()
{
int a,i=0,j=0,t=0;
for(i=0;i<10;i++)
scanf("%d",&a);{
for(j=0;j<9;j++)
for(i=0;i<9-j;i++){
if(a>a)
{t=a;a=a;a=t;}
}
for(i=0;i<10;i++)
printf("%d/n",a);}
return 0;
} 你的逻辑有点乱啊
#include<stdio.h>
int main()
{
int a,i=0,j=0;
int t=0;
for(i=0;i<10;i++){
scanf("%d",&a);
}
for(j=0;j<9;j++){
for(i=0;i<9-j;i++){
if(a>a){
t=a;
a=a;
a=t;
}
}
}
for(i=0;i<10;i++)
printf("%d\n",a);
return 0;
}
初学,头绪挺乱的
本帖最后由 风过无痕1989 于 2020-10-22 16:18 编辑
// 将输入的10个数从大至小排序
#include<stdio.h>
int main()
{
int i,j,t,a; // i,j,t 三个变量不是作为计数用的,没有必要赋初值
for(i = 0;i < 10;i++)
{ // 花括号的位置不对
scanf("%d",&a);
}
for(j = 0;j < 10;j++)
{
for(i = 0;i < 10;i++)
{
if(a > a)
{
t = a; // 这里需要的是数组元素的值
a = a; // 所以不能只给个数组名
a = t;
}
}
} // 缺少花括号
for(i = 0;i < 10;i++)
printf("%d ",a); // 多了一个花括号同样也是需要数组元素的值,
// 是反斜杠,不是斜杠。为了使程序输出在同一行,此语句打个空格即可
// 不能用数组名,可以用数组名加下标变量及指针
printf("\n");
return 0;
}
页:
[1]