公式计算 、if语句 、switch语句, 选择结构例题, if 、else if 、else 的正确使用,温度转换、分段函数求值、成绩评定题型 ,新手编程入门 基础巩固学习C语言 习题

两个问题:数学公式计算(题目1)和选择结构(题目2、3)

题目1:
输入一个华氏温度,要求输出摄氏温度。公式为 c=5(F-32)/9,取2位小数。

例如
输入:-40
输出:c=-40.00

代码如下:

#include<stdio.h>
int main()
{
    
    
	double F,c;
	scanf("%lf",&F);
	c=5*(F-32)/9;
	printf("c=%.2lf",c);
	return 0;
 } 

注意:

  1. F和c都为浮点数,要用浮点型进行定义,最开始做的时候我用的float,但看到所有的题解都用的double型,我百思不得其解,最后才发现128华氏度仅为53.33333333摄氏度,明显在float的范围内是不够用的,所以我们使用范围更大的double型。
  2. 数学公式与C语言代码的转换。
  3. %m.nf中,m表示总宽度 (可省略),n表示精度,即保留到小数点后几位。此题保留2位小数,即为%.2lf。

题目2:
对分段函数求值,输入x,输出y。
在这里插入图片描述
代码如下:

#include<stdio.h>
int main()
{
    
    
	int x,y;
	scanf("%d",&x);
	if (x<1)
	{
    
     y=x;} 
	else if(1<=x&&x<10)
	{
    
    y=2*x-1;} 
	else 
	{
    
    y=3*x-11;} 
    printf("%d",y);
 } 

注意:

  1. x取值范围变成代码的改写。
  2. if 、else if 、else 的正确使用。

if 、else if 、else 的正确使用:
if(条件1)
如果条件1为真,执行这里;(条件为真才执行)

else if(条件2)
否则,当条件2为真执行这里。(当条件1不为真,条件2为真执行这里

else
条件1,条件2都不为真,执行这里

题目3:
(成绩评定)给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。 90分以及90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。

输入:一个整数0-100以内
输出:一个字符,表示成绩等级

代码如下:

#include<stdio.h>
int main()
{
    
    
	int x;
	scanf("%d",&x);
	if(x<=100&&x>=0)
	{
    
    
	if(x>=90)
	{
    
    
		printf("A");
	}
	else if(x>=80&&x<=89)
	{
    
    
		printf("B");
	}
	else if(x>=70&&x<=79)
	{
    
    
		printf("C");
	}
	else if(x>=60&&x<=69)
	{
    
    
		printf("D");
	}
	else 
	{
    
    
		printf("E");
	}
}
 } 
 
 

上述方式很简单易懂,但很麻烦,这里的嵌套显然很烦琐且易漏。

用switch语句对此进行优化

代码如下:

#include<stdio.h>
 int main()
 {
    
    
 	int x;
 	scanf("%d",&x);
 	x=x/10;
	if(x<=10&&x>=0)
		switch(x)
 			{
    
     
 				case 10:
 				case 9: 
				 		printf("A"); break;
 				case 8: 
				 		printf("B"); break;
 				case 7: 
				 		printf("C"); break;
 				case 6: 
				 		printf("D"); break;
 				default:
	 		 			printf("E"); break;
			 }
	 }

代码简单清晰,省时省力。

注意:

  1. switch中仅能进行判断是与否,不能通过逻辑表达式判断,如果进入的x和case后面的能够对上号了,那就进行后续语句,所以对成绩进行了除以10的处理。
  2. default与else差不多的意思和使用方式。
  3. break必不可少,找到相应部位后及时跳出。

猜你喜欢

转载自blog.csdn.net/m0_46735251/article/details/112911515
今日推荐