获得徽章 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
#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;
}
心得
注意每一项项数中分子分母和前一项的数量关系
输出格式
设置数据类型不要是整型,要不然算不出来
#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;
}
心得
注意每一项项数中分子分母和前一项的数量关系
输出格式
设置数据类型不要是整型,要不然算不出来
展开
2
2
输出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向两边展开
#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向两边展开
展开
4
3
赞了这篇文章
赞了这篇文章
连续输出四位整数的各位数字
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;
}
心得
过于繁琐,有待提高
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()
{
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的小数数位限制方法
展开
评论
点赞
100*100坐标纸上三角形的面积计算
int main()
{
int a, b, c;
float d;
scanf("%d%d", &a, &b);
c = a - b;
if (c >= 0)
c = a - b;
else
c = b - a;
d = 1.0 / 2 * 100 * c;
printf("%.0f", d);
return 0;
}
心得
对(x.y)坐标中x-y的值要注意正负,用if语句解决
结果计算注意/符号,1/2为0,1.0/2为0.5
int main()
{
int a, b, c;
float d;
scanf("%d%d", &a, &b);
c = a - b;
if (c >= 0)
c = a - b;
else
c = b - a;
d = 1.0 / 2 * 100 * c;
printf("%.0f", d);
return 0;
}
心得
对(x.y)坐标中x-y的值要注意正负,用if语句解决
结果计算注意/符号,1/2为0,1.0/2为0.5
展开
评论
点赞