哈工程C语言教材课后答案(4)

2019-06-11 20:05

} }

6. 将一个数组按逆序重新存放在该数组中。

#include void main() {

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 void main() {

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 void main()

{

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 void main() {

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 void main() {

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 #include void main() {

char s[80]; int n=0; gets(s);

while(s[n])n++;

printf(\}

12. 比较两个字符串S1、S2的大小。(不使用库函数)若S1>S2 ,输出1;若S1=S2,输出0;若S1

#include #include void main() {

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 void main()

{

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 void main() {

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 void main() {

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


哈工程C语言教材课后答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:羽毛球考试复习资料 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: