习题参考答案63422

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章习题参考答案

1.对C语言来说,下列标识符中哪些是合法的,哪些是不合法的total, _debug, Large&Tall, Counter1, begin_

解答:Large&Tall不合法,其余都合法。

2.改写本章节中的流程图,求1~100中能被6整除的所有整数的和。解答:

sum = 0

i = 1

真i <= 100

能被整除

sum = sum + i

i = i + 1

打印sum

图“求1~100中能被6整除的所有整数的和”的流程图

11

3.改写本章节中的程序,求1~100中能被6整除的所有整数的和,并在编程环境中验证

该程序的运行结果。

解答:

#include <>

int main(void)

{

int i, sum = 0;

for(i = 1; i <= 100; i++)

if (i%6 == 0)sum = sum + i;

printf("%d", sum);

return 0;

}

运行结果:816

4.对于给定的整数n(n>1),请设计一个流程图判别n是否为一个素数(只能被1和自己整除的整数),并分析该流程图中哪些是顺序结构、哪些是分支结构与循环结构。

解答:在流程图中,分支结构和循环结构如图所示,自上而下的2个实线框和2个虚线组

成了顺序结构。

输入n

i = 2

i<=n/2

能被整除

循环结构

i = i + 1

打印n是素数i>n/2

打印n不是素数

分支结构

第2章习题参考答案

(i)

4.编写程序,输入两个正整数m和n,求

解答:

#include <>

int main(void)

{

int i, m, n;

double sum;

scanf("%d%d", &m, &n);

sum = 0;

for(i = m; i <= n; i++)

sum = sum + i * i + / i;

printf("sum = %.6f\n", sum);

return 0;

}

23i。

456

5.编写程序,输入一个正整数n,计算解答:

#include <>

int main(void)

{

int flag, i, n;

double item, sum;

scanf("%d", &n);

sum = 0;

flag = 1;

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

item = flag * * i / (2 * i - 1);

sum = sum + item;

flag = -flag;

} 1

357911

.....

的前n 项之和。

26

1

} printf("sum = %.3f\n", sum); return 0;

8.编写程序,输入一个正整数n,求

型是double。

解答:

#include <>

int main(void)

{

int i, n;

double sum;

double fact(int n);

scanf("%d", &n);

sum = 0;

for(i = 0; i <= n; i++){

sum = sum + fact(i);

}

printf("sum = %.0f\n", sum);

return 0;

}

double fact(int n)

{

int i;

double product;

product=1;

for(i = 1; i <= n; i++)

product = product * i;

return product;

} e i!

。要求定义和调用函数fact(n)计算n!,函数类

第3章习题参考答案

程序设计题

1.输入三角形的3条边a, b, c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数);否则,输出"These sides do not correspond to a valid triangle"。

在一个三角形中,任意两边之和大于第三边。三角形面积计算公式:

解答:

areas(sa)(sb)(sc),其中s = (a+b+c)/2

#include <>

#include <>

int main(void)

{

int a,b,c;

double area,s,perimeter;

scanf("%d%d%d",&a,&b,&c);

if((a+b>c)&&(b+c>a)&&(a+c>b)){

perimeter=a+b+c;

s=(a+b+c)*2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf("area=%.2f,perimeter=%.2f\n",area,perimeter);

}

else

printf("These sides do not correspond to a valid triangle\n");

return 0;

}

4.输入一个正整数n,再输入n个学生的成绩,计算平均分,并统计各等级成绩的个数。成绩分为5个等级,分别为A(90~100)、B(80~89)、C(70~79)、D(60~69)、E(0~59)。

#include <>

int main(void)

{

int mark, n, i, sum;

double average;

int counta, countb, countc, countd, counte;

printf("Enter n: ");

scanf("%d",&n);

counta= countb = countc = countd = counte =sum=0;

相关文档
最新文档