C语言 int 和double 排序问题
来源:百度知道 编辑:UC知道 时间:2024/05/06 09:33:38
# include<stdio.h>
void main()
{
int raw[10];
int i,j;
int t;
for(i=0;i<10;i++)
scanf("%d",&raw[i]);
for(j=0;j<10;j++)
{
for(i=0;i<9;i++)
{
if(raw[i]<raw[i+1])
{
t=raw[i];
raw[i]=raw[i+1];
raw[i+1]=t;
}
}
}
for(i=0;i<10;i++)
printf("%d ",raw[i]);
}
这个是用整形做的从大到小的数组排序
为什么把raw[10]换成double型以后运行结果就变成从小到大的排序了呢?
void main()
{
int raw[10];
int i,j;
int t;
for(i=0;i<10;i++)
scanf("%d",&raw[i]);
for(j=0;j<10;j++)
{
for(i=0;i<9;i++)
{
if(raw[i]<raw[i+1])
{
t=raw[i];
raw[i]=raw[i+1];
raw[i+1]=t;
}
}
}
for(i=0;i<10;i++)
printf("%d ",raw[i]);
}
这个是用整形做的从大到小的数组排序
为什么把raw[10]换成double型以后运行结果就变成从小到大的排序了呢?
# include<stdio.h>
void main()
{
double raw[10];
int i,j;
double t;
for(i=0;i<10;i++)
scanf("%lf",&raw[i]);
for(j=0;j<10;j++)
{
for(i=0;i<9;i++)
{
if(raw[i]<raw[i+1])
{
t=raw[i];
raw[i]=raw[i+1];
raw[i+1]=t;
}
}
}
for(i=0;i<10;i++)
printf("%lf ",raw[i]);
}
改了下 这样就可以了 注意改成double后相关的也要边 如printf 中的d
又问了次。。。直接给你个程序吧!
#include<stdio.h>
main()
{
double raw[10];//int改成double
int i,j;
double t;//int改成double
for(i=0;i<10;i++)
scanf("%lf",&raw[i]);//d改成lf
for(j=0;j<10;j++)
{
for(i=0;i<9;i++)
{
if(raw[i]<raw[i+1])
{
t=raw[i];
raw[i]=raw[i+1];
raw[i+1]=t;
}
}
}
for(i=0;i<10;i++)
printf("%lf ",raw[i]);//d改成lf
}
用C语言计算int,long,double,long double和 char占用的内存字节数
C语言里,什么是整形变量和复合变量?int和double的区别
C语言中的double和float
C语言中,int和char型
大家好,我想问一下,C语言中int,unsigned int,short int,double等,这些怎么区别,什么时候用哪个呀
C语言中的char和int什么时候不可以通用
C语言 有关int和long的问题
C语言中 指针int *a=10;和int *a; *a=10;的区别
C语言中putpixel(int x,int y,int color)中color的取值范围和具体介绍
c语言int型变量