#include<stdio.h> intmain(){ int n; float p[100], q[100], s = 0; scanf("%d", &n); for (int i = 0; i < n; i++) { p[i] = (i > 0) ? q[i - 1] : 1; q[i] = (i > 0) ? p[i - 1] + q[i - 1] : 2; s += q[i] / p[i]; } printf("%.4f", s); return0; }
从键盘输入5个数,找出其最大数并输出
样例输入 2 3 4 7 5 样例输出 7
main.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#include<stdio.h> intmax(int a, int b){ return a > b ? a : b; }
intmain(){ int m = 5, a[m], t = 0; scanf("%d %d %d %d %d", &a[0], &a[1], &a[2], &a[3], &a[4]); for (int n = 0; n < m; n++) { t = max(a[n], t); } printf("%d", t); return0; }
求n的正整数的阶乘的和
样例输入 5 样例输出 153
main.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#include<stdio.h> intmain(){ longlongint n, s = 0; scanf("%lld", &n); for (int i = 1; i <= n; i++) { int c = 1; for (int v = 1; v <= i; v++) { c *= v; } s += c; } printf("%lld", s); return0; }
#include<stdio.h> intcount(int n){ int i; for (i = 0; n > 0; n /= 10) { if (n % 10 == 2) i++; } return i; }
intmain(){ int a, b, c = 0; scanf("%d %d", &a, &b); for (int i = a; i <= b; i++) { c += count(i); } printf("%d", c); return0; }
你真的懂语法吗?
do while()
根据条件来循环语句。 阶乘相加的算法。
main.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
// 题目:求1!+2!+3!+4!+…+n!的结果。n!=n*(n-1)*(n-2)*...2*1 #include<iostream> intmain(){ int a; while(scanf("%d", &a) != EOF) { int d = 0; for (int b = 1; b <= a; b++) { int e = 1; for (int c = 1; c <= b; c++) { e *= c; } d += e; } printf("%d\n", d); } return0; }