练习2-10 计算分段函数[1]

本文探讨了浙大版《C语言程序设计(第3版)》中的练习题,通过对比错误与正确版本的代码,解析了数据类型不匹配导致的问题,并分享了编程经验教训。

浙大版《C语言程序设计(第3版)》题目集

练习2-10 计算分段函数[1] (10 分)
本题目要求计算下列分段函数f(x)的值:

公式在这里插入图片描述

输入格式:
输入在一行中给出实数x。

输出格式:
在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。

输入样例1:
10
输出样例1:
f(10.0) = 0.1
输入样例2:
0
输出样例2:
f(0.0) = 0.0

错误版本

在这里插入代码片
#include <stdio.h>

int f(double x){
	double t=0;
	if(x!=0){
		t=1/x;
	}
	return t;
}

int main(){
double x;
scanf("%lf",&x);
printf("f(%.1f)=%.1f",x,f(x));
	return 0; 
} 
  1. 错误点
    发现输入10,返回却是0
    观察到是因为函数设置为int的缘故
    因此改为double
  2. 偷懒点
    在函数初始化已设置为0,因此无需在写else语句
    但是降低了可读性,属于小聪明

正式版本

#include <stdio.h>

double f(double x){
	double f=0;
	if(x!=0){
		f=1/x;
	}
	return f;
}

int main(){
double x;
scanf("%lf",&x);
printf("f(%.1f)=%.1f",x,f(x));
	return 0; 
} 

感悟:

  1. 即使函数要返回某个变量,也需要定义这个变量
  2. 其次返回时要注意设定的函数类型是否匹配
  3. 对于“printf”输出时可直接用函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值