C语言程序设计 - 谭浩强 - 第三版 - 课后习题答案(4)

2019-03-11 15:15

for(i=0;i<10;i++) printf(\} 或 main()

{static int a[10],i,j,k,t; for(i=1;i<11;i++) scanf(\for(j=1;j<10;j++) for(i=1;i<=10-j;j++) if (a[i]>a[i+1])

{t=a[i+1];a[i+1]=a[i];a[i]=t;} for(i=1;i<11;i++) printf(\printf(\}

7.3求一个3×3矩阵对角线元素之和。 main()

{int i=0,j=0,a[3][3],s1,s2; for(i=0;i<3;i++) for(j=0;j<3;j++)

scanf(\

s1=a[0][0]+a[1][1]+a[2][2]; s2=a[0][2]+a[1][1]+a[2][0]; printf(\} 或 main() {

static int i,j,s1,s2,a[3][3]; for(i=1;i<=3;i++) for(j=1;j<=3;j++) scanf(\

s1=a[1][1]+a[2][2]+a[3][3]; s2=a[1][3]+a[2][2]+a[3][1]; printf(\}

7.4已有一个已排好的数组今输入一个数要求按原来排序的规律将它插入数组中。 main()

{ static int a[10]={1,7,8,17,23,24,59,62,101};int i,j,t; scanf(\for(i=9;i>0;i--) if(a[i]

{t=a[i-1];a[i-1]=a[i];a[i]=t;} for(i=0;i<10;i++)

printf(\} 或 main() {

static int a[5]={1,4,5,6,7}; int i,t,b;

scanf(\for(i=0;i<5;i++) {if(b<=a[i])

{t=a[i];a[i]=b;b=t;} printf(\printf(\}

7.5将一个数组的值按逆序重新存放,例如,原来顺序为:8,6,5,4,1。要求改为:1,4,5,6,8。 main()

{ int i,b[10]; for(i=0;i<10;i++) scanf(\for(i=9;i>-1;i--) printf(\printf(\

7.6打印出以下杨辉三角形(要求打印出10行)。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ∶ ∶ main() {

static int m,n,k,b[15][15]; b[0][1]=1;

for(m=1;m<15;m++) {

for(n=1;n<=m;n++) {

b[m][n]=b[m-1][n-1]+b[m-1][n]; printf(\

}

printf(\} } } 或 main()

{ int i,j,n,k,a[10][10];

static a[][1]={{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}}; a[1][1]=1;

for(k=2,k<11;k++) for(i=2;i<=k;i++) for(j=2;j<=i;j++)

a[i][j]=a[i-1][j-1]+a[i-1][j]; for(k=1;k<11;k++) for(i=1;i<=k;i++) for(j=1;j<=i;j++) printf(\}

7.7 打印“魔方阵”,所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。例如,三阶魔方阵为 8 1 6 3 5 7 4 9 2

要求打印出由1~n2的自然数构成的魔方阵。 解:

#include main()

{ int a[16][16],i,i,k,p,m,n; p=1;

while(p==1) { printf(\~15):\ scanf(\

if((n!=0)&&(n<=15)&&(n%2!=0)) p=0; }

for(i=1;i<=n;i++) for(j=1;j<=n;j++) a[i][j]=0 7-8

#include void main() {

int a[4][4],i,j,max,min,k1,k2,flag;

printf(\输入一个4*4的数组\\n\\n\ for(i=0;i<4;i++) {

for(j=0;j<4;j++) {

scanf(\ } }

printf(\鞍点为:\\n\\n\ for(i=0;i<4;i++) {

max=a[i][0]; for(j=0;j<4;j++) {

if(max<=a[i][j]) {

max=a[i][j]; k1=j; } }

min=a[0][k1]; for(j=0;j<4;j++) {

if(min>=a[j][k1]) {

min=a[j][k1]; k2=j; } }

if((max!=min)) flag=0; else {

flag=1;

printf(\ break; } }

if(flag==0) printf(\不存在\\n\\n\} 7-9

#include void main()

{

float a[15]={100,98,65,55,34,23,23,12,11,9,7,6,4,3,2},n; int i,low,high,mid;

printf(\原数组为:\\n\\n\ for(i=0;i<15;i++) {

printf(\ }

printf(\输入一个数n\\n\\n\ scanf(\ low=0; high=14; i=0;

while(low<=high) {

mid=(low+high)/2; if(a[mid]==n) {

printf(\该数是数组中第%d个元素\\n\\n\ i++; break; }

else if(a[mid]

if(i==0) printf(\无此数!!\\n\\n\} 7-10

#include void main() {

char a[3][80];

int i,j,upon=0,low=0,num=0,spa=0,oth=0; for(i=0;i<3;i++) {

printf(\输入第%d行文字\\n\\n\ gets(a[i]);

for(j=0;j<80&&a[i][j]!='\\0';j++) {

if(a[i][j]>='A'&&a[i][j]<='Z') upon+=1; else if(a[i][j]>='a'&&a[i][j]<='z') low+=1; else if(a[i][j]>=48&&a[i][j]<=57) num+=1;


C语言程序设计 - 谭浩强 - 第三版 - 课后习题答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2015年注册咨询工程师《工程项目组织与管理》真题

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

马上注册会员

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