#include <stdio.h>
#include <stdlib.h>
#include <string.h>// 1.求1/阶乘累加
int main() {int n;int i;double temp = 1;double result = 0;printf("Input:");scanf("%d", &n);for (i = 1; i < n; i++) {temp *= i;//1,2,6,24result+=1/temp; //这里注意如果temp为int类型,但是res是double分数,所以temp需为double}
printf("1/1+...+1/%d=%.16f",i,result); //题目指明为16位小数,所以直接设置为%.16freturn 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>int main() {int m;int i;int res = 0;printf("Input:");scanf("%d", &m);// 1.取得小于m的最大nfor (i = 1; i <= m; i++) {res += i;if (res > m) {break;}}// res=0;// for(j=1;j<i-1;j++)res+=j;printf("n=%d,sum=%d",i-1,res-i); //得到的是大于m的值,故需要减去当前的n
}