获得徽章 0
- 求非负整数n的n!
#include<stdio.h>
int main()
{
int n, x,s;
scanf("%d", &n);
x = 1;
s = 1;
for (x = 1; x <= n; x++)
s = s * x;
printf("%d!=%d",n, s);
return 0;
}
心得
for循环的使用
累乘器s初始值为1展开评论点赞 - 分数数列的前n项和
#include<stdio.h>
int main()
{
int i,n;
double a,b,t,sum;
scanf("%d", &n);
a = 1.0;
b = 2.0;
sum = 0;
for (i = 1; i <= n; i++)
{
sum = b/a + sum;
t = a;
a = b;
b = b + t;
}
printf("%lf", sum);
return 0;
}
心得
注意每一项项数中分子分母和前一项的数量关系
输出格式
设置数据类型不要是整型,要不然算不出来
展开赞过22 - 输出2n-1行菱形
#include<stdio.h>
#include<math.h>
int main()
{
int n, i, m, s;
scanf("%d", &n);
i = 1 - n;
s = 2 * n - 1;
if (n > 0 && n <= 100)
{
for (i = 1 - n; i <= n - 1; i++)
{
for (m = 1; m <= abs(i); m++)
printf(" ");
for (m = 1; m <= s - 2 * abs(i); m++)
putchar('*');
printf("\n");
}
}
return 0;
}
心得:
对称结构可以想到用绝对值abs
菱形为奇数行
注意行数和每一行元素的联系,以最中间的一行为0向两边展开
展开赞过43 - 连续输出四位整数的各位数字
int main()
{
int a,b,c,d,e;
scanf("%4d", &a);
b = a / 1000;
c = (a - b*1000) / 100;
d = (a - b * 1000 - c * 100) / 10;
e = a - b * 1000 - c * 100 - d * 10;
printf("%d=%d+%d*10+%d*100+%d*1000",a, e,d,c,b);
return 0;
}
心得
过于繁琐,有待提高展开评论点赞 - 用身高计算标准体重
#include<stdio.h>
int main()
{
float h,w;
scanf("%f", &h);
if (100 <= h && h <= 300)
{
w = (h - 100) * 0.9*2;
printf("%.1f", w);
}
return 0;
}
心得
变量类型的判断即该用什么类型
自变量范围限制用if语句,不满足则不执行
%F小数数位的限制展开评论点赞
#include<stdio.h>
int main()
{
int p, c;
float a;
scanf("%d %d", &p, &c);
a = p * c * 0.1;
printf("%.2f", a);
return 0;
}
心得
%f的小数数位限制方法展开评论点赞