对数组a中的元素进行降序排列,存放到数组b中,要求不能改变数组a中元素的值。算法如下:
(1)每次循环,从a数组中找到一个最大值,并存放到b数组中。
(2)c数组中各元素的值为a数组中同下标元素是否存入b数组的标记,初始值为0。
(3)每次循环,将与已存入b数组的最大值对应的c数组元素赋值为1,下次不参加比较。
注意:改错时不允许增加及删除语句,只允许修改或移动语句的位置。
含有错误的程序代码:
if(*(c+i)==0||*(a+m)<*(a+i))
->
if(*(c+i)==0||*(a+m)>*(a+i))
# include <stdio.h>
int main ( )
{
double a,b,temp;
int i;
char ch='Y';
while (ch=='Y')
{
printf("Please enter 'a' and 'b':\t");
//fflush(stdin);
scanf("%lf%lf",&a,&b);
getchar ( );
if (a>b)
printf("a = %lf\tb = %lf\n\n",a,b);
else
temp = a,
a = b,
b = temp, //多个表达式用,来连接 可以来代替一个语句
printf("a = %lf\tb = %lf\n\n",a,b);
printf("contibue(Y)or break(N):\t");
//fflush(stdin);
scanf("%c",&ch);
getchar ( );
}
return 0;
}