山科大 C语言程序设计编程精选44例(4)

2018-12-21 13:02

}

printf(\ F -> C\ while(low<=high+0.01) {

c=(low-32)*5/9.0;

printf(\ low+=step; }

return 0; } }

问题 12: 1!+2!+…+k!=?

题目描述

求1!+2!+…+k!=?,并判断是否溢出。

输入

输入为一个正整数k。

输出

若1!+2!+…+k!的值溢出unsigned(无符号整型)的范围输出“overflow”,否则输出1!+2!+…+k!的结果。

样例输入

5

样例输出

153

提示

如果一个值溢出某个变量的数据类型存储范围,但仍然存入该变量,那么存入该变量中的值实际上是什么?

解答:

#include int main() {

int i,j;

unsigned int s,b,a; s=0;

scanf(\ b=1;

for(i=1;i<=j;i++) { a=b; b=b*i;

if((double)b/a

{ printf(\ return 0; }

s=s+b; }

printf(\ return 0; }

问题 13: 输出整数的最低两位

题目描述

把一个整数的最低两位打印出来,不输出整数的符号。

输入

输入为一个整数n,不会超出int类型的数据范围。

输出

输出n的最低两位数字。但是,输入的数字本身不足两位时,不应当补0。如,输入为“1”,则输出为“1”。

样例输入

-102

样例输出

02

提示

printf函数可以完成补0的操作。

解答:

#include int main() { int a,b,c; scanf(\ if(a<0) { c=-a; if(c<100) printf(\ else { b=c-100*(c/100); printf(\ } } else {

if(a<100) printf(\ else { b=a-100*(a/100); printf(\ } } }

问题 14: 产生等差序列之一

题目描述

根据给出的初始数、公差和序列长度求等差序列。

输入

输入为一行,格式见sample。其中,start为初始数,step为公差,times为序列长度。满足,times>0,step不为0。

输出

把这个等差序列输出在一行里,序列两数之间用一个空格分隔。

样例输入

start = 1, step = 2, times = 100

样例输出

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121 123 125 127 129 131 133 135 137 139 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171 173 175 177 179 181 183 185 187 189 191 193 195 197 199

解答:

#include int main() { int st,s,t,i; scanf(\ printf(\ for(i=1;i

问题 15: 产生等差序列之二

题目描述

根据给出的初始数、公差和终止条件求等差序列。

输入

输入为一行,格式见sample。其中,start为初始数,step为公差,end为终止条件。满足,step不为0,并且start和end的大小关系与step的方向一致。end不一定是序列的最后一个数。

输出

把这个等差序列输出在一行里,序列两数之间用一个空格分隔。

样例输入

start = 1, step = 2, end = 200

样例输出

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121 123 125 127 129 131 133 135 137 139 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171 173 175 177 179 181 183 185 187 189 191 193 195 197 199

提示

根据start和step的大小关系,判断序列终止的条件可能不同。

解答:

#include int main() { int st,s,end; scanf(\ printf(\ if(s>0) { for(st=st+s;st<=end;st=st+s) printf(\ } else { for(st=st+s;st>=end;st=st+s) printf(\ } }

问题 16: 辗转相除法

题目描述

辗转相除法,也称欧几里得算法,是求最大公约数的算法。辗转相除法首次出现于欧几里得的《几何原本》(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的《九章算术》。


山科大 C语言程序设计编程精选44例(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016最新人教版小学英语六年级下册教案

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

马上注册会员

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