}
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 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
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 问题 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 问题 16: 辗转相除法 题目描述 辗转相除法,也称欧几里得算法,是求最大公约数的算法。辗转相除法首次出现于欧几里得的《几何原本》(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的《九章算术》。