int count;
}x[]={″Li ning″,19,″Lang ping″,21,″Zhu jian hua″,20};
main()
{int i;
for(i = 0;i 3;i + + )
printf(″﹪s: ﹪d \ n″,x[i].name,x[i].count);
}
35. main()
{union
{short a;char ch;
}M;
M.a = 100;M.ch =′A′;
printf(″﹪d,﹪d,﹪c \n″,sizeof(M),M.a,M.ch);
}
四、程序填充题 (本大题共3小题,每小题6分,共18分)
给出下列程序,将横线处缺少的部分补上,使其能正确运行。
36. 以下程序的功能是用选择法对数组a中的整数由小到大进行排序。
void sort(int b[],int n)
{ int i,j,t;
for(i = 0;i n - 1;i ++ )
for(______;j n;j ++ )
if(b[i]_____b[j])
{t = b[i];_____________;b[j]=t;}
}
main()
{ int a[]={5,8,6,2,7,4,1,3};
int i;
sort(a,8);
for(i = 0;i 8;i ++ )
printf(″﹪5d″,a[i]);
printf(″\ n″);
}
37. 输入一字符串(换行为结束标志)统计其中数字(0,1,2,…,9不单独统计)、空白和其它字符出现的次数。
# include ″stdio.h″
main()
{ char c;
int ___________________________;
while((c = getchar())! =′\ n′)
{
if(__________________________)digit + + ;
else if(c = =′′‖c = =′\ t′) ++ blank;
else __________________________;
}
printf(″digit =﹪d,blank =﹪d,other =﹪d \ n″,digit,blank,other);
}
38. 先为数组a输满数据,再为x输入一个数据,在数组a中找出第一个与x相等的元素并将其下标输出,若不存在这样的元素,则输出“Not found!”标志。
main()
{int i,x,a[10];
for(i = 0;i 10;i ++ )scanf(″﹪d″,___________);
scanf(″﹪d″, x);printf(″﹪d″,x);
for(i = 0;i 10;i ++) if(_________________)break;
if (i _________10)printf(″ position:﹪d \ n″,i);
else printf(″ Not found! \ n″,x);
}
五、程序设计题 (第39小题5分,第40、41小题各6分,共17分)
39. 求出10至1000之内能同时被2、3、7整除的数,并输出。
40. 求1到100之间的奇数之和及偶数之和,并将二者输出。
41. 输入一字符串,检查是否回文 (回文是指正反序相同,如,LeveL),若是则输出“Yes”,否则输出“No”。