C语言课后习题答案
if (a[i]<mi)
四、程序填空题
1.功能:输出26个英文字母。要求使用字符数组。
答案:
=======(答案1)=======
i++
=========或=========
++i
========或=========
i+=1
=======(答案2)=======
1.功能:将字母转换成密码,转换规则是将当前字母变成其后的第四个字母,但W变成A、X变成B、Y变成C、Z变成D。小写字母的转换规则相同。
答案:
=======(答案1)=======
getchar()
=======(答案2)=======
c+=4
=========或=========
c=c+4
=========或=========
switch(mm)
=======(答案2)=======
break;
=======(答案3)=======
default :
三
1.功能:输出a、b、c三个变量中的最小值。
答案:
=======(答案1)=======
&c
=======(答案2)=======
c:t1
四
1.功能:对任意输入的x,用下式计算并输出y的值。说明:因为关于函数调用的知识在第7章讲解,所以在现阶段本程序的设计可以改用一个主函数来完成。
x<=9
=========或=========
9>=x
=======(答案2)=======
y=0
=======(答案3)=======
(10*x+2)*(70+y)
=========或=========
( 10 * x + 2 ) * ( 70 + y )
=======(答案4)=======
10*x+2,70+y
s2= s2 + a[m-1][j] ;
=========或=========
s2+=a[m-1][j];
=========或=========
s2=a[m-1][j]+s2;
=======(答案3)=======
for(i=1;i<m-1;i++)
=========或=========
for(i=1;i<-1+m;i++)
16
=======(答案2)=======
55
=======(答案3)=======
i
=======(答案4)=======
%c
2.现有两组有序数组(升序),x[i]、y[j]代表数组x、y的任一元素,问满足x[i]>y[i]的元素对有多少个?
答案:
=======(答案1)=======
m - index_f
答案:
=======(答案1)=======
printf("\n");
=======(答案2)=======
for(i=1;i<5;i++)
=========或=========
for(i=1;i<=4;i++)
=======(答案3)=======
if (i!=k&&i!=j&&j!=k)
三、程序填空题
6.307.4,28.4
一
答案:
1.C2.C3.C4.A5.A
6.A7.D8.D9.C10.D
二
答案:
1.scanf printf2.顺序、选择、循环3.14.35.9,10
6.10,207.2138.空格、Tab键、回车键
第
一
答案:
1.B2.D3.D4.B5.B
6.C7.C8.B9.B
二、
1.输入两个实数,在fun()函数中按数值由小到大输出它们。(保留2位小数)
答案:
=======(答案1)=======
float a[10],mi,ma,avg;
=======(答案2)=======
for(i=0;i<=9;i++)
=======(答案3)=======
ma=mi=avg=a[0];
=======(答案4)=======
if (mi>a[i])
=========或=========
=======(答案2)=======
return count
=======(答案3)=======
dominance_count(x, y, nx, ny)
四、程序设计题
1.找出一批正整数中的最大的偶数。
答案:
int i,amax=-1;
for(i=0;i<n;i++)
if(a[i]%2==0)
if (a[i]>amax) amax=a[i];
c=4+c
=======(答案3)=======
&&
2.功能:算式?2*7?=3848中缺少一个十位数和一个个位数。编程求出使该算式成立时的这两个数,并输出正确的算式。
答案:
=======(答案1)=======
x<10
=========或=========
10>x
=========或=========
二、程序改错题
1.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一 半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
答案:
=======(答案1)=======
x2=1;
第
一
答案:
1.A2.B3.C4.C5.D
6.B7.D8.B
二
答案:
1.函数2.目标3.编译程序4.分号
一
答案:
1.B2.D3.D4.B5.D
6.C7.C8.B9.A10.D
11.B12.B13.D14.D15.A
16.C17.B18.D19.A20.C
二
答案:
1.22.6,4,23.184.55.double或双精度
'A' + i
=========或=========
i+'A'
=========或=========
65 + i
=========或=========
i+65
=======(答案3)=======
string
五、程序设计题
1.功能:产生20个[30,120]上的随机整数放入二维数组a[5][4]中,求其中的最小值。
return amax;
第
一
答案:
1.C2.D3.A4.B5.D
6.A7.D8.C9.C10.D
11.D12.A13.D14.C15.D
16.A17.A18.B19.C20.C
二
答案:
1.602.地址
三
1.功能:main()函数利用函数swap()来交换main函数中的两个变量的值。
答案:
=======(答案1)=======
=========或=========
10 * x + 2 , 70 + y
四、程序设计题
1.功能:根据整型形参m,计算如下公式的值:y=1/2+1/4+1/6+...+1/(2*m)。
例如:若m=9,则应输出:1.414484
答案:
double y=0;
int i;
for(i=1; i<=m; i++)
答案:
char *q=s;
for(; *q; q++)
if(*q != c) *(s++)=*q;
*s=0;
第
一
答案:
1.A2.B3.A4.A5.C
6.A7.C8.C9.A10.D
二
1.功能:计算某日是当年的第几天。
答案:
=======(答案1)=======
31
=======(答案2)=======
if(j=i/2)
=========或=========
if(j>sqrt(i))
=======(答案4)=======
return i;
=========或=========
return (i);
三、程序填空题
1.下列程序的功能是将十进制数转换成十六进制数。
答案:
=======(答案1)=======
for(j=2;j<=i-1;j++)
=========或=========
for(j=2;j<i/2;j++)
=========或=========
for(j=2;i/2>j;j++)
=======(答案2)=======
if( i%j == 0 ) break;
=========或=========
二、程序改错题
1.求一个3行4列矩阵的外框的元素值之和。如:矩阵元素为1,2,3,4,5,6,7,8,9,10,11,12时,四框元素值之和应为65。注意:矩阵四个角上的元素不能重复加。
答案:
=======(答案1)=======
int i,j,s,s1=0,s2=0,s3=0,s4=0;
=======(答案2)=======