错题集
数组:
1.数组定义中,数组名后是用方括号括起来的常量表达式,不能用圆括号。(正确)
解析:数组标准样式array[ ],不能用array();
2.函数strcmp从头至尾顺序地将其对应字符比较,遇到两个字符不等时,两个字符相减得到一个int型值,两个字符串完全相同时,则返回0。
(正确)
解析:用strcmp函数时头文件用#include<string.h>
在字符串比较时 如果相等时 返回int值0
如果字符串1>字符串2,则返回正整数
反之返回负整数。
3 .数组定义后,只能引用单个的数组元素,而不能一次引用整个数组。
(正确)
解析:数组只能用循环输出,
但是字符串数组可以用%s输出
4 .若有定义int a[]={2,4,6,8,10},a[1]和a++表示的含义相同。
(错误)
解析:a为数组名,数组名不能自增。
程序填空题:
1.选择法排序:本题要求将给定的nnn个整数从小到大排序后输出。输出时相邻数字中间用一个空格分开,行末不得有多余空格。
#include <stdio.h>
#define MAXN 10
int main()
{
int i, index, k, n, temp;
int a[MAXN];
scanf("%d", &n);
for(i = 0; i < n; i++){
scanf("%d", &a[i]);
}
for(k = 0; k < n-1; k++){
index = k
for(i = k + 1; i < n; i++){
if(a[i] < a[index]){
index = i;
}
}
temp = a[index]; a[index] = a[k]; a[k] = temp;
}
for(i = 0; i < n; i++) {
if((i == 0)){
printf("%d", a[i]);
}else{
printf(" %d", a[