你说的是第四题吧
你这样做明显不符合题目要求,看以下程序:
#include
void main()
{
int price,number;
printf("please input a price:");
scanf("%d",&price);
if(price>15)
number=0;
else if(price>=10)
number=1;
else if(price>=8)
number=2;
else if(price>0)
number=3;
printf("购买西瓜的个数:%d\n",number);
}
楼上说的对
再改成z=1*(x>10&&x<=15)+2*(x>8&&x<=10)+3*(x<=8);
就不用下面的switch了,直接打印z就是个数了,当然是在输入的值是大于0的前提下
#include
void main()
{
int price,number;
printf("please input a price:");
scanf("%d",&price);
if(price>15)
number=0;
else if(price>=10)
number=1;
else if(price>=8)
number=2;
else if(price>0)
number=3;
你调用的这句sort(
&aa[3],
5)
;明显是只对4,5,6,7,8这几个元素进行排序嘛
所以结果应该是1,2,3,8,7,6,5,4,9,10,
改成sort(
&aa[0],
10)就行了
只要搞清楚算法就可以了啊。。楼上说得很明白啊你这里的sort()这个函数是将第一个数逐个比较,将大的数与其交换,如1与2比较,2大过1,就将他们交换,就变成2
1,如此类推第二个FOR循环结束之后就是:
10 1 2 3 4 5 6 7 8 9(i=o,
j=1从a[1]开始比较,直到j<9
即:a[9]为止)
10 9 1 2 3 4 5 6 7 8(i=1,
j=2从a[2]开始比较,直到j<9
即:a[9]为止)
如此类推结果就是:10 9 8 7 6 5 4 3 2 1