【解析】填空 1:由程序可以知道,变量 g 保存了整数的个位数,变量 s 保存了整
数的十位数,所以变量 b 应该保存整数的百位数。将整数除以 100 再对 10 取余,则得
到这个整数的百位数。填空 2:当个位数字和百位数字之和等于十位数字时,则返回
″yes!″。填空 3:当个位数字和百位数字之和不等于十位数字时,则返回″no!″。
2. 改错题
下列给定的程序中,函数 fun()的功能是:用选择法对数组中的 n 个元素按从大到小
的顺序进行排序。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#define N 20
void fun(int a[],int n)
{
int i,j,t,p;
/**********************found***********************/
for(j=0;j<="">
{
p=j;
for(i=j;i<N;I++)< p=""></N;I++)<>
if(a[i]>a[p])
p=i;
t=a[p];
a[p]=a[j];
/**********************found***********************/
a[p]=t;
}
}
main()
{
int a[N]={11,32,-5,2,14},i,m=5;
printf("排序前的数据:");