(今天进行对一些实例进行编程,来自牛客网初学者入门训练)
1. 描述:BMI指数(即身体质量指数)是用体重公斤数除以身高米数平方得出的数字,是目前国 际上常用的衡量人体胖瘦程度以及是否健康的一个标准。例如:一个人的身高为1.75米, 体重为68千克,他的BMI=68/(1.75^2)=22.2(千克/米^2)。当BMI指数为18.5~23.9时属 正常,否则表示身体存在健康风险。编程判断人体健康情况。
输入描述:一行,输入一个人的体重(千克)和身高(米),中间用一个空格分隔。
输出描述:一行,输出身体Normal(正常)或Abnormal(不正常)。
#include <stdio.h>
int main()
{
int w=0;
int h=0;
double bmi=0.0;
scanf("%d %d\n",&w,&h);
bmi=w/(h*h);
if (bmi>=18.5 && bmi<=23.9)
printf("Normal\n");
else
printf("Abnormal\n");
return 0;
}
2. 输入描述:多组输入,每行输入包括一个整数表示的智商。(如果大于等于140,则表明他是一 个天才。)
输出描述:针对每行输入,输出“Genius”。
#include <stdio.h>
int main()
{
int n=0;
while(scanf("%d\n",&n)!=EOF)
if(n>=140)
printf("Genius\n");
return 0;
}
3. 输入描述:多组输入,每行输入包括一个整数表示的成绩(90~100)。
输出描述:针对每行输入,输出“Perfect”。
#include <stdio.h>
int main()
{
int n=0;
while(scanf("%d\n",&n)!=EOF)
if(n>=90 && n<=100)
printf("Perfect\n");
return 0;
}
4. 输入描述:多组输入,每行输入包括一个整数表示的分数(0~100)。
输出描述:针对每行输入,分数大于等于60分,是输出“Pass”,否则,输出“Fail”。
#include <stdio.h>
int main()
{
int n=0;
while(scanf("%d\n",&n)!=EOF)
if(n>=60)
printf("Pass\n");
else
printf("Fail\n");
return 0;
}
5. 输入描述:多组输入,每行输入包括一个整数。
输出描述:针对每行输入,输出该数是奇数(Odd)还是偶数(Even)。
#include <stdio.h>
int main()
{
int n=0;
while(scanf("%d\n",&n)!=EOF)
if(n%2==0)
printf("Even\n");
else
printf("Odd\n");
return 0;
}
整理:以下部分为一些博客稍加进行后的结果(仅供整理和参考)。
for循环与while循环的区别:
- for循环的基本表达形式为:
for(语句1;表达式;语句2)
{
语句块
}
1)for循环开始时,会先执行语句1,而且在整个循环过程中只执行一次语句1。
2)接着判断表达式的条件,如果条件成立,就执行一次循环体中的语句块。
3)语句块执行完后,接下来会执行语句2。
4)重复第2)步和第3),直到表达式的条件不成立才结束for循环。
注意:
1)在for循环中,语句1、表达式和语句2都可以为空,for (;;)等同于while (1)。
2)continue和break两个关键字也可以用在for循环体中。
for循环一般与计数器一起使用。例如:把1到100之间的数值累加起来。
2. while循环的基本表达式为:
while(表达式)
{
表达块
}
先计算表达式的值,当值为真时(非0即是真),执行语句块,执行完语句块后,回到循环首部再次计算表达式的值,如果为真,又执行一次语句块……,这个过程会一直重复,直到表达式的值为假,就不再执行语句块。
循环的选择:
- for循环可以实现while循环的功能,while循环也可以实现for循环的功能,没有那个更好的说法,要看应用场景。
- for循环更合适事先知道循环总次数的场景,一般与计数器或数组结合一起使用。
- while循环更合适事先不知道循环总次数的场景,以达到某个目标为目。
明天继续学习牛客网的BC39--竞选前五名(这题有两个知识点)