} }
6. 将一个数组按逆序重新存放在该数组中。
#include
int a[10],i,t;
printf(\ for(i=0;i<10;i++) scanf(\ for(i=0;i<10/2;i++) {
t=a[i];
a[i]=a[10-1-i]; a[10-1-i]=t; }
for(i=0;i<10;i++) printf(\}
7. 打印一个5行的杨辉三角形。
#include
int a[5][5]={0},i,j; for(i=0;i<=4;i++) a[i][0]=a[i][i]=1; for(i=2;i<=4;i++) for(j=1;j
a[i][j]=a[i-1][j]+a[i-1][j-1]; for(i=0;i<=4;i++) {
for(j=0;j<=i;j++)
printf(\ printf(\ } }
8. 用二维字符数组存储下列图形并输出。 ***** **** *** **
*
#include
{
char c[5][5]={'\\0'}; int i,j;
for(i=0;i<5;i++) for(j=i;j<5;j++) c[i][j]='*'; for(i=0;i<5;i++) {
for(j=0;j<5;j++)
printf(\ printf(\ } }
9. 计算二维数组主对角线元素之和。
#include
int a[3][3],i,j,x;
printf(\ for(i=0;i<3;i++) for(j=0;j<3;j++)
scanf(\ x=0;
for(i=0;i<3;i++) x=x+a[i][i];
printf(\}
10. 用―折半‖查找法,在一组按降序排列的数中查找一个值为K的元素。若有,输出YES;若无,输出NO。
#include
int a[10]={10,9,8,7,6,5,4,3,2,1},l,r,m,k; printf(\ scanf(\ l=0; r=9;
m=(1+r)/2; while(l<=r) if(a[m]==k) break; else {
if(k>a[m])
r=m-1; else
l=m+1; m=(l+r)/2; } if(l<=r)
printf(\ else
printf(\}
11. 编写一个程序计算一个字符串的长度。(不使用库函数)
#include
char s[80]; int n=0; gets(s);
while(s[n])n++;
printf(\}
12. 比较两个字符串S1、S2的大小。(不使用库函数)若S1>S2 ,输出1;若S1=S2,输出0;若S1 #include char s1[80],s2[80]; int i,n; gets(s1); gets(s2); i=0; while(s1[i]&&s2[i]&&s1[i]==s2[i])i++; if(!s1[i]||s1[i] if(!s2[i]||s1[i]>s2[i]) n=1; if(!s1[i]&&!s2[i]) n=0; printf(\ guo shi %d\} 13. 用―冒泡‖法将一组数按升序排序。 #include { int a[10],i,j,x; for(i=0;i<10;i++) scanf(\ for(j=0;j<9;j++) for(i=0;i<9-j;i++) if(a[i]>a[i+1]) { x=a[i]; a[i]=a[i+1]; a[i+1]=x; } for(i=0;i<10;i++) printf(\} 14. 在一个二维数组中形成并输出如下矩阵 1 1 1 1 1 2 1 1 1 1 3 2 1 1 1 4 3 2 1 1 5 4 3 2 1 #include int a[5][5]; int i,j; for(i=0;i<5;i++) for(j=0;j<5;j++) if(i<=j) a[i][j]=1; else a[i][j]=i-j+1; for(i=0;i<5;i++) { for(j=0;j<5;j++) printf(\ printf(\ } } 15. 有一个3╳4的矩阵,求其中的最大元素的值及位置。 #include int a[3][4],i,j,x,l,r; for(i=0;i<3;i++) for(j=0;j<4;j++) scanf(\ x=a[0][0]; l=r=0; for(i=0;i<3;i++) for(j=0;j<4;j++) if(a[i][j]>x) { x=a[i][j]; l=i; r=j; } printf(\ %d,position is %d,%d\\n\ 第九章 一、选择题 1.( D ) 2. B 3.( D ) 二、写出以下程序的运行结果 (1)答案:6 (2)答案:6 (3)答案:2,3 (4)答案:6 (5)答案: Zhao,m,85,90 三、改错题 1、答案:(1) 最后加分号“;”。 (2) 改为scanf(\ (3) 改为printf(\ 2、答案: ( 1) 改为struct People peo[]; (2)改为scanf(\(3)改为scanf(\ (4)改为scanf(\ (5) 改为:printf(\%d People's name is:%s,sex:%c,position:%s,age:%d \\n\四、编程题 (1) 设计一个通信录的结构体类型,并画出该结构体变量在内存的存储形式。 struct photonote { char name[20]; char number[20]; }; (2)用结构体变量表示矩形,编写矩形面积函数,矩形周长函数,输入矩形长宽函数,输出矩形长宽函数,输入矩形的长宽并进行面积和周长的计算。 #include