概述
C刷题(三)
- ????BC25、计算体重指数
- ????BC26、计算三角形的周长和面积
- ????BC27、计算球体的体积
- ????BC10、成绩的输入输出
- ????BC38、变种水仙花
- ????BC20、kiki算数
- ????BC21、浮点数的个位数字
- ????BC22、你能活多少秒
????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????
????BC25、计算体重指数
描述:
问题:计算BMI指数(身体质量指数)。BMI指数(即身体质量指数,简称体质指数又称体重,英文为Body Mass Index,简称BMI),是用体重公斤数除以身高米数平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。主要用于统计用途,当我们需要比较及分析一个人的体重对于不同高度的人所带来的健康影响时,BMI值是一个中立而可靠的指标
输入描述:
一行,两个整数,分别表示体重(公斤),身高(厘米),中间用一个空格分隔
输出描述:
一行,BMI指数(保留两位小数)
示例:
输入:
70 170
输出:
24.22
代码:
#include <stdio.h>
int main()
{
int weight = 0;
int high = 0;
scanf("%d %d", &weight, &high);
//结果为小数,所以用一个浮点型数据来接收
//high / 100如果只是这样那么结果是一个整数,那么必须一端为小数,所以改为high / 100.0
float BMI = weight / ((high / 100.0)* (high / 100.0));
//保留两位小数.2
printf("%.2fn", BMI);
return 0;
}
结果:
????BC26、计算三角形的周长和面积
描述:
根据给出的三角形3条边a, b, c(0 < a, b, c < 100,000),计算三角形的周长和面积
输入描述:
一行,三角形3条边(能构成三角形),中间用一个空格隔开
输出描述:
一行,三角形周长和面积(保留两位小数),中间用一个空格隔开,输出具体格式详见输出样例
示例:
输入:
3 3 3
输出:
circumference=9.00 area=3.90
代码:
#include <stdio.h>
#include <math.h>
int main()
{
float a = 0.0;
float b = 0.0;
float c = 0.0;
float circumference = 0.0;
float area = 0.0;
scanf("%f %f %f", &a, &b, &c);
circumference = a + b + c;
float p = circumference / 2;
area = sqrt(p * (p - a) * (p - b) * (p - c));
printf("circumference=%.2f area=%.2fn", circumference, area);
return 0;
}
结果:
扩展:
- 海伦公式
- 求平方根函数sqrt
????BC27、计算球体的体积
描述:
给定一个球体的半径,计算其体积。其中球体体积公式为 V = 4/3*πr^3,其中 π= 3.1415926
输入描述:
一行,用浮点数表示的球体的半径
输出描述:
一行,球体的体积,小数点后保留3位
示例:
输入:
3.0
输出:
113.097
代码:
#include <stdio.h>
int main()
{
double r = 0.0;
double v = 0.0;
double pi = 3.1415926;
scanf("%lf", &r);
// 4.0 / 3注意这里必须要有一端为小数,否则计算结果就为1
v = 4.0 / 3 * (pi * r * r * r);
printf("%.3lfn", v);
return 0;
}
结果:
扩展:
计算一个数的次方
#include <stdio.h>
#include <math.h>
int main()
{
//pow函数返回值为double类型树蕨,所以强制性转换为int类型
int a = (int)pow(2,5);
printf("%dn", a);
return 0;
}
????BC10、成绩的输入输出
描述:
输入3科成绩,然后把三科成绩输出,成绩为整数形式
输入描述:
一行,3科成绩,用空格分隔,范围(0~100)
输出描述:
一行,把3科成绩显示出来,输出格式详见输出样例
示例:
输入:
60 80 90
输出:
score1=60,score2=80,score3=90
代码:
//方法一
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
int c = 0;
scanf("%d %d %d", &a, &b, &c);
printf("score1=%d,score2=%d,score3=%d", a, b, c);
return 0;
}
//方法二
#include <stdio.h>
int main()
{
int score[3] = { 0 };
int i = 0;
for (i = 0; i < 3; i++)
{
scanf("%d", &score[i]);
}
printf("score1=%d,score2=%d,score3=%dn", score[0], score[1], score[2]);
return 0;
}
结果:
????BC38、变种水仙花
描述:
变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number。
例如:
655 = 6 * 55 + 65 * 5
1461 = 1*461 + 14*61 + 146*1
求出5位数中的所有 Lily Number
输入描述:
无
输出描述:
一行,5位数中的所有 Lily Number,每两个数之间间隔一个空格
代码:
#include <stdio.h>
int main()
{
int i = 0;
for (i = 10000; i < 100000; i++)
{
int j = 0;
int sum = 0;
for (j = 10; j <= 10000; j *= 10)
{
sum += (i / j) * (i % j);
}
if (i == sum)
{
printf("%d ", i);
}
}
return 0;
}
结果:
扩展:
????BC20、kiki算数
描述:
问题:KiKi今年5岁了,已经能够认识100以内的非负整数,并且能够进行 100 以内的非负整数的加法计算。不过,BoBo老师发现KiKi在进行大于等于100的正整数的计算时,规则如下:
1.只保留该数的最后两位,例如:对KiKi来说1234等价于34;
2.如果计算结果大于等于 100, 那么KIKI也仅保留计算结果的最后两位,如果此两位中十位为0,则只保留个位。
例如:45+80 = 25
要求给定非负整数 a和 b,模拟KiKi的运算规则计算出 a+b 的值
输入描述:
一行,输入两个非负整数a和b,用一个空格分隔。(0 <= a,b<= 2^31-1)
输出描述:
针对每组输入,输出按照KiKi的运算规则计算出 a+b 的值
代码:
//方法一
#include <stdio.h>
int main()
{
int num[2] = { 0 };
int i = 0;
for (i = 0; i < 2; i++)
{
scanf("%d", &num[i]);
}
int sum = (num[0] % 100 + num[1] % 100) % 100;
printf("%dn", sum);
return 0;
}
//方法二
#include <stdio.h>
int main()
{
int num[2] = { 0 };
int i = 0;
for (i = 0; i < 2; i++)
{
scanf("%d", &num[i]);
}
int sum = (num[0]+num[1]) % 100;
printf("%dn", sum);
return 0;
}
结果:
????BC21、浮点数的个位数字
描述:
给定一个浮点数,要求得到该浮点数的个位数
输入描述:
一行,包括一个浮点数
输出描述:
一行,包含一个整数,为输入浮点数对应的个位数
示例:
输入:
13.141
输出:
3
代码:
//方法一
#include <stdio.h>
int main()
{
float a = 0.0;
scanf("%f", &a);
int b = (int)a;
printf("%dn", b % 10);
return 0;
}
//方法二
#include <stdio.h>
int main()
{
int a = 0;
scanf("%d", &a);
//如果这里输入的是浮点数,用int来接收,那么得到的将会是整数部分
printf("%dn", a);
printf("%dn", a % 10);
return 0;
}
结果:
????BC22、你能活多少秒
描述:
问题:一年约有3.156×10^7s,要求输入您的年龄,显示该年龄合多少秒
输入描述:
一行,包括一个整数age(0<age<=200)
输出描述:
一行,包含一个整数,输出年龄对应的秒数
示例:
输入:
20
输出:
631200000
代码:
//方法一
#include <stdio.h>
#include <math.h>
int main()
{
int age = 0;
scanf("%d", &age);
int a = pow(10, 7);
long long int second = 3.156 * a;
printf("%lldn", age * second);
return 0;
}
//方法二
#include <stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
//这里long long int避免计算超出范围 3.156*10^7在VS编译器中这样写:3.156*e7
long long int second = age * 3.156e7;
printf("%lldn", second);
return 0;
}
结果:
离开前,别忘了????关注????收藏????
希望本文能够对大家有帮助~!
????????????????????????????????????????????往期刷题文章分享????????????????????????????????????????????
【C语言】带你用最短的时间刷题(附解题思路、具体代码)不断更新(一)
【C语言】带你用最短的时间刷题(附解题思路、具体代码)不断更新(二)
最后
以上就是冷艳橘子为你收集整理的✨✨✨【C语言】带你用最短的时间刷题(附解题思路、具体代码)不断更新(三)✨✨✨的全部内容,希望文章能够帮你解决✨✨✨【C语言】带你用最短的时间刷题(附解题思路、具体代码)不断更新(三)✨✨✨所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复