C语言程序设计教程 第七章 课后习题参考答案.docx

上传人:b****1 文档编号:13613109 上传时间:2023-06-15 格式:DOCX 页数:20 大小:16.76KB
下载 相关 举报
C语言程序设计教程 第七章 课后习题参考答案.docx_第1页
第1页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第2页
第2页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第3页
第3页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第4页
第4页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第5页
第5页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第6页
第6页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第7页
第7页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第8页
第8页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第9页
第9页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第10页
第10页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第11页
第11页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第12页
第12页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第13页
第13页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第14页
第14页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第15页
第15页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第16页
第16页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第17页
第17页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第18页
第18页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第19页
第19页 / 共20页
C语言程序设计教程 第七章 课后习题参考答案.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计教程 第七章 课后习题参考答案.docx

《C语言程序设计教程 第七章 课后习题参考答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计教程 第七章 课后习题参考答案.docx(20页珍藏版)》请在冰点文库上搜索。

C语言程序设计教程 第七章 课后习题参考答案.docx

C语言程序设计教程第七章课后习题参考答案

P1983求主、副对角线元素之和

#include

#defineM4

#defineN4

intmain()

{

inta[M][N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};

inti,j,m=0,n=0;

for(i=0;i

{

for(j=0;j

{

printf("%4d",a[i][j]);

}

printf("\n");

}

for(i=0;i

{

for(j=0;j

{

if(i==j)

m+=a[i][j];

}

}

printf("主对角线元素之和为:

%d\n",m);

for(i=0;i

{

for(j=0;j

{

if(i+j==3)

n+=a[i][j];

}

}

printf("副对角线元素之和为:

%d\n",n);

return0;

}

P1984数组逆序存放

#include

voidinput(inta[],intn);

voidreverse(inta[],intn);

intmain()

{

inta[5];

intsize=sizeof(a)/sizeof(int);

input(a,size);

reverse(a,size);

printf("\n");

return0;

}

voidinput(inta[],intn)

{

inti;

printf("请输入%d个整数:

\n",n);

for(i=0;i

{

scanf("%d",&a[i]);

}

}

voidreverse(inta[],intn)

{

inti,t;

for(i=0;i

{

t=a[i];

a[i]=a[5-i-1];

a[5-i-1]=t;

}

for(i=0;i

{

printf("%-3d",a[i]);

}

}

1984数组逆序存放

(2)

#include

voidreverse(inta[],intn);

voidprint(inta[],intn);

intmain()

{

inta[]={1,2,3,4,5,11,16,13};

intsize=sizeof(a)/sizeof(int);

print(a,size);

reverse(a,size);

printf("\n");

return0;

}

voidprint(inta[],intn)

{

inti;

printf("原:

\n");

for(i=0;i

{

printf("%-4d",a[i]);

}

printf("\n");

}

voidreverse(inta[],intn)

{

intt,i;

printf("逆序:

\n");

for(i=0;i

{

t=a[i];

a[i]=a[n-1-i];

a[n-1-i]=t;

}

for(i=0;i

{

printf("%-4d",a[i]);

}

}

P1985对称矩阵

#include

voidprint(inta[][3],introws,intcols);

intfun(inta[][3],introws,intclos);

voidmain()

{

inta[3][3],i,j;

printf("input:

\n");

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

scanf("%d",&a[i][j]);

}

print(a,3,3);

if(fun(a,3,3)==0)

printf("此矩阵是对称矩阵\n");

else

printf("此矩阵不是对称矩阵\n");

}

voidprint(inta[][3],introws,intcols)

{

inti,j;

for(i=0;i

{

for(j=0;j

printf("%-4d",a[i][j]);

printf("\n");

}

}

intfun(inta[][3],introws,intclos)

{

inti,j,x=0;

for(i=0;i

{

for(j=0;j

{

if(a[i][j]!

=a[j][i])x++;

}

}

if(x>0)return1;

elsereturn0;

}

P1985对称矩阵

(2)

#include

#defineM3

#defineN3

voidprint(inta[][N],intm,intn);

intyan(inta[][N],intm,intn);

intmain()

{

inta[][N]={1,2,3,4,5,6,7,8,9};

print(a,M,N);

if(yan(a,M,N))

printf("YES\n");

else

printf("NO\n");

return0;

}

voidprint(inta[][N],intm,intn)

{

inti,j;

for(i=0;i

{

for(j=0;j

{

printf("%-4d",a[i][j]);

}

printf("\n");

}

}

intyan(inta[][N],intm,intn)

{

inti,j,x=0;

for(i=0;i

{

for(j=0;j

{

if(a[i][j]!

=a[j][i])x++;

}

}

if(x>0)//不是对称矩阵

return0;

return1;

}

P1986矩阵求和

#include

#defineM3

#defineN3

voidinput(inta[][N],intm,intn);

voidsum(inta[][N],intb[][N],intm,intn);

voidprint(inta[][N],intm,intn);

intmain()

{

inta[M][N];

intb[M][N];

printf("请输入%d*%d阶矩阵A:

\n",M,N);

input(a,M,N);

print(a,M,N);

printf("请输入%d*%d阶矩阵B:

\n",M,N);

input(b,M,N);

print(b,M,N);

printf("A+B=\n");

sum(a,b,M,N);

return0;

}

voidinput(inta[][N],intm,intn)

{

inti,j;

for(i=0;i

{

for(j=0;j

{

scanf("%d",&a[i][j]);

}

}

}

voidprint(inta[][N],intm,intn)

{

inti,j;

for(i=0;i

{

for(j=0;j

{

printf("%4d",a[i][j]);

}

printf("\n");

}

}

voidsum(inta[][N],intb[][N],intm,intn)

{

inti,j;

intc[M][N];

for(i=0;i

{

for(j=0;j

{

c[i][j]=a[i][j]+b[i][j];

}

}

print(c,M,N);

}

P1987模拟骰子投掷

#include

#include

#defineN10000

intmain()

{

inta[N],i;

doublex=0,y=0,z=0,l=0,m=0,n=0;

for(i=0;i

{

a[i]=rand()%6+1;

if(a[i]==1)

x++;

if(a[i]==2)

y++;

if(a[i]==3)

z++;

if(a[i]==4)

l++;

if(a[i]==5)

m++;

if(a[i]==6)

n++;

}

printf("出现1的概率为:

%lf\n",x/N);

printf("出现2的概率为:

%lf\n",y/N);

printf("出现3的概率为:

%lf\n",z/N);

printf("出现4的概率为:

%lf\n",l/N);

printf("出现5的概率为:

%lf\n",m/N);

printf("出现6的概率为:

%lf\n",n/N);

return0;

}

P671最大奇、偶数

#include

#defineM10

intmain()

{

inti,a[M];

intmax1=-1,max2=-1;

for(i=0;i

{

printf("请输入第%d个正整数:

",i+1);

scanf("%d",&a[i]);

}

for(i=0;i

{

if(a[i]%2!

=0)

{

if(a[i]>max1)

max1=a[i];

}

else

{

if(a[i]>max2)

max2=a[i];

}

}

if(max1==-1)

printf("没有奇数\n");

else

printf("最大奇数是%d\n",max1);

if(max2==-1)

printf("没有偶数\n");

else

printf("最大偶数是%d\n",max2);

return0;

}

P693

#include

intmain()

{

inta[20];

intp=0,n=0,i,j=0;

doubleavg,sum=0;

printf("请输入非0整数:

");

while

(1)

{

scanf("%d",&a[j]);

if(a[j]==0)

break;

j++;

}

for(i=0;i

{

sum=sum+a[i];

}

avg=sum/j;

printf("平均数:

%lf",avg);

for(i=0;i

{

if(a[i]>0)

p++;

if(a[i]<0)

n++;

}

printf("正数个数:

%d负数个数:

%d\n",p,n);

return0;

}

P752冒泡排序

#include

#defineN10

voidbubble_sort(inta[],intn);

voidmain()

{

inti,a[N]={1,3,6,8,9,2,11,12,14,7};

printf("原数组为:

\n");

for(i=0;i

{

printf("%4d",a[i]);

}

bubble_sort(a,N);

printf("\n");

}

voidbubble_sort(inta[],intn)

{

inti,j,tmp;

for(i=0;i

{

for(j=0;j

{

if(a[j]>a[j+1])

{

tmp=a[j];

a[j]=a[j+1];

a[j+1]=tmp;

}

}

}

printf("\n");

printf("排序后的数组为:

\n");

for(i=0;i

{

printf("%4d",a[i]);

}

}

P763成绩

#include

voidinput(intcla[50][3],intn);

voidprint(intcla[50][3],intn);

voidsort(intcla[50][3],intn);

voidmain()

{

intcla[50][3];

intn;

printf("请输入学生人数(小于50):

\n");

scanf("%d",&n);

if(n<=0||n>=50)

printf("error,请输入正确的人数。

\n");

else

{

input(cla,n);

print(cla,n);

}

}

voidinput(intcla[50][3],intn)

{

inti,j;

printf("请依次输入学生两门课成绩:

\n");

for(i=0;i

{

for(j=0;j<2;j++)

scanf("%d",&cla[i][j]);

}

}

voidprint(intcla[50][3],intn)

{

inti,j;

printf("C++\t计算机基础\t总分\n");

for(i=0;i

cla[i][2]=cla[i][0]+cla[i][1];

sort(cla,n);

for(i=0;i

{

for(j=0;j<3;j++)

{

printf("%d\t",cla[i][j]);

if(j==1)

printf("\t");

}

printf("\n");

}

}

voidsort(intcla[50][3],intn)

{

inti,j,a,b,c;

for(j=0;j

{

for(i=0;i

{

if(cla[i][2]

{

a=cla[i][0];

cla[i][0]=cla[i+1][0];

cla[i+1][0]=a;

b=cla[i][1];

cla[i][1]=cla[i+1][1];

cla[i+1][1]=b;

c=cla[i][2];

cla[i][2]=cla[i+1][2];

cla[i+1][2]=c;

}

}

}

}

P764函数功能判断

#include

voidfun(inta[3][3],intb[3][3]);

intmain()

{

inti=0,j=0;

inta[3][3]={1,2,3,4,5,6,7,8,9};

intb[3][3];

fun(a,b);

if(b[i][j]==a[j][i])

printf("fun函数功能为矩阵转置\n");

return0;

}

voidfun(inta[3][3],intb[3][3])

{

inti,j;

printf("矩阵a为:

\n");

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

{

printf("%4d",a[i][j]);

}

printf("\n");

}

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

{

b[i][j]=a[j][i];

}

}

printf("矩阵b为:

\n");

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

{

printf("%4d",b[i][j]);

}

printf("\n");

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2