C语言上机实验(第四版)参考答案(3)

2018-12-11 10:26

36 18 [正确输出] [正确输出] Y N

参考程序:

#include\#include \main() { int a,b; scanf(\ b=(int)sqrt(a);

if(b*b==a) printf(\ else printf(\

}

[题目 1017:求数的位数]

由键盘输入一个不多于 9位的正整数,要求输出它是几位数。[第一组自测数据] [键盘输入] 349213↙

[正确输出] 6

[第二组自测数据] [键盘输入] 10000↙ [正确输出] 5

[提示]划定一位数、二位数、?、九位数的范围,然后用 if ?断。 5 参考程序: main()

{ int n,place;

scanf(\

if(n>99999999) place=9; else if(n>9999999) place=8; else if(n>999999) place=7; else if(n>99999) place=6;

else if ?else语句实现判 else if(n>9999) place=5; else if(n>999) place=4; else if(n>99) place=3; else if(n>9) place=2; else place=1; printf(\ }

[1120:判断点是否在圆上]

由键盘输入一个点的坐标, 要求编程判断这个点是否在单位圆上,点在圆上输出 Y, 不在圆上输出

N。使用小数点后3位精度进行判断。 [第一组自测数据] [键盘输入] 0.707,0.707↙ [正确输出] Y

[第二组自测数据] [键盘输入] 0.5,0.5↙ [正确输出]

N

[提示](1)平面上的点与圆的关系分为在圆内、在圆上、在圆外三种,本题要求判断是否在圆上; (2)

判断两实数相等采用判断这两实数的差的绝对值小于规定误差精度(本题为0.001)的方法实现。

参考程序:

#include \ #include \ int main() { float a,b;

scanf(\ if(fabs(a*a+b*b-1)<1e-3) printf(\ else printf(\ }

实验 5 循环结构程序设计(一) 一、实验目的

(1)熟悉掌握用while语句、do-while语句和 for 语句实现循环的方法。 (2)掌握在程序设计中用循环实现一些常用算法(如穷举、迭代、递推等)。 二、实验内容

[题目 1024:计算阶乘]

输入正整数n,计算 n!,结果用长整型数表示(注 n!=1*2*3*...*n) [第一组自测数据] [键盘输入] 5↙

[正确输出] 120

[第二组自测数据] [键盘输入] 8↙ [正确输出] 40320

参考程序: #include\main()

{ long i,n=1,a; scanf(\ for(i=1;i<=a;i++) n=n*i; printf(\ }

[题目 1025:计算数列和] 有数列1,3,5,7,9,11,??

现要求由键盘输入n,计算输出该数列的前 n项和。 [第一组自测数据] [键盘输入] 2↙

[正确输出] 4

[第二组自测数据] [键盘输入] 5↙

[正确输出] 25 10

参考程序:

#include main()

{ long n,sum=0,i,t=1; scanf(\ for(i=1;i<=n;i++) { sum=sum+t; t=t+2; }

printf(\ }

#include main()

{ long n,sum; scanf(\ sum=n*n;

printf(\

}

注:评判系统不对程序实现细节进行分析,只对运行结果进行评测(考试就未必了)。 [题目 1026:累加一行字符中的数字]

由键盘输入一行字符(总字符个数从1个至80 个均有可能,以回车符表示结束),将其中每个数字

字符所代表的数值累加起来,输出结果。 [第一组自测数据] [键盘输入] abc123↙ [正确输出] 6

[第二组自测数据] [键盘输入] A6H7T+65↙ [正确输出]

24

[提示](1)可以使用下面程序段逐个读入键盘输入的一行字符 char ch;

while((ch=getchar())!='\\n')

{……}

(2)数字字符转为对应的数值可用a=ch-'0' 参考程序: #include\main()

{ char c; int s=0,a;

while((c=getchar())!='\\n') { if(c>='0'&&c<='9') { a=c-48; s=s+a; } }

printf(\ } 11

[题目 1029:求最大公约数]

由键盘输入两个正整数m、n(m、n用长整数表示) ,计算它们的最大公约数。 [第一组自测数据] [键盘输入] 16,24↙ [正确输出] 8

[第二组自测数据] [键盘输入] 17,25↙

[正确输出] 1

[提示]公约数是既能整除m又能整除n的数,题目要求满足这一条件的最大的一个。


C语言上机实验(第四版)参考答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018苏教版南京大学出版社小学5年级上册心理健康教案

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

马上注册会员

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