BatchDoc Word文档批量处理工具
return 0; }
int day_of_year(int year,int month,int day) { int k,leap; int tab[2][13]={ {0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31} }; leap=(year%4==0&&year0!=0||year@0==0); for(k=1;k 【练习7-10】查找指定字符。输入一个字符,再输入一个以回车符结束的字符串(少于80个字符)。如果找到,则输出该字符在字符串中所对应的最大下标,下标从0开始;否则输出”Not Found”。试编写相应程序。 解答: #include BatchDoc Word文档批量处理工具 BatchDoc Word文档批量处理工具 printf(\ else printf(\ return 0; } 【练习7-11】字符串逆序:输入一个以回车符结束的字符串(少于80个字符),将该字符串逆序存放,输出逆序后的字符串。试编写相应程序。 解答: #include 习题7 一.选择题 1.假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4}; 则数组x在内存中所占字节数是 D 。 A.3 B.6 C.10 D.20 2.以下能正确定义数组并正确赋初值的语句是 D 。 A.int N=5,b[N][N]; B.int a[1][2]={{1},{3}}; C.int c[2][]={{1,2},{3,4}}; D.int d[3][2]={{1,2},{34}}; 3.若有定义:int a[2][3];以下选项中对数组元素正确引用的是 D 。 A.a[2][0] B.a[2][3] C.a [0][3] D.a[1>2][1] BatchDoc Word文档批量处理工具 BatchDoc Word文档批量处理工具 4.设有数组定义:char array [ ]=\则数组array 所占的空间为 C 。 A.4 个字节 B.5 个字节 C.6 个字节 D.7 个字节 5.下述对 C 语言字符数组的描述中错误的是 D 。 A.字符数组可以存放字符串 B.字符数组中的字符串可以整体输入、输出 C.可以在赋值语句中通过赋值运算符\对字符数组整体赋值 D.不可以用关系运算符对字符数组中的字符串进行比较 6.有以下定义:char x[ ]=\char y[ ]={'a','b','c','d','e','f','g'}; 则正确的叙述为 C 。 A.数组x和数组y等价 B . 数组x和数组y的长度相同 C.数组x的长度大于数组y的长度 D.数组x的长度小于数组y的长度 7.以下程序的输出结果是 C 。 int main(void) { int m[ ][3]={1,4,7,2,5,8,3,6,9}; int i, j, k=2; for (i=0;i<3;i++) printf (\ } A.4 5 6 B.2 5 8 C.3 6 9 D.7 8 9 8.以下程序的输出结果是 B 。 int main(void) { int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i, s=0; for(i=0;i<4;i++) s+=aa[i][1]; printf(\} A.11 B.19 C.13 D.20 二.填空题 1.设有定义语句:int a[ ][3]={{0},{1},{2}}; 则数组元素a[1][2]的值是 0 。 2.下列程序的功能是:求出数组 x 中各相邻两个元素的和依次存放到a数组中,然后输出。 请填空。 int main(void ) { int x[10],a[9],i; BatchDoc Word文档批量处理工具 BatchDoc Word文档批量处理工具 for(i=0; i<10; i++) scanf(\ for( _i=1_; i<10; i++ ) a[i-1]=x[i]+_x[i-1] _ ; for(i=0; i<9; i+ +) printf(\ printf(\ } 3.写出下列程序的运行结果是 -12 。 int main(void) { int a[10]={10,1,-20,-203,-21,2,-2,-2,11,-21}; int j,s=0; for(j=0;j<10;j++) if(a [j]%2==0) s+=a[j]; printf(\ } 4.写出下面程序的运行结果 。 #include { float s[6]={1, 3, 5, 7, 9}; float x; int i; scanf(“%f”, &x); for (i=4 ; i>=0; i--) if(s[i]>x) s[i+1]=s[i]; else break; printf(\ return 0; } (1) 如果输入 4,则输出 2 。 (2) 如果输入 5,则输出 3 。 5.下列程序的功能是输出如下形式的方阵,请填空。 13 14 15 16 9 10 11 12 5 6 7 8 1 2 3 4 int main(void) { int i,j,x; for(j=4;_j>=1_;j--) BatchDoc Word文档批量处理工具 BatchDoc Word文档批量处理工具 { for(i=1;i<=4;i++) { x=(j-1)*4+_i_; printf(\} printf(\} } 6.以下程序的功能是用来检查二维数组是否对称(即对所有的i,j都有a[i] [j]=a[j] [i])。请填空。 int main(void) { int a[4][4]={1,2,3,4,2,2,5,6,3,7,8,6,7,4}; int i,j,found=0; for(j=0;j<4;j++) { for(i=0;i<4;i++) if(_a[j][i]!=a[i][j]_){ _found=1;_ break; } if(_found==1_)break; } if(found!=0) printf(\该二维数组不对称\\n\ else printf(\该二维数组对称\\n\ return 0; } 三.程序设计题 1. 选择法排序。输入一个正整数 n (1 #include BatchDoc Word文档批量处理工具