目前主要分为三个专栏,后续还会添加:
专栏如下: C语言刷题解析 C语言系列文章 我的成长经历
感谢阅读!
初来乍到,如有错误请指出,感谢!
描述
KiKi最近学习了信号与系统课程,这门课里有一个非常有趣的函数,单位阶跃函数,其中一种定义方式为:
现在试求单位冲激函数在时域t上的值。
输入描述:
题目有多组输入数据,每一行输入一个t(-1000
输出描述:
输出函数的值并换行。
思路 :
这题也很简单
看着题目我陷入了沉思
结果是我想多了
题目的输出我看错了
以为要输入两组 看了半天没有看懂有什么规律
看了解答 豁然开朗
使用一个 if...else 循环判断就可以了
代码 1 :
# include <stdio.h>int main (){int input = 0;while(scanf("%d",&input)!=EOF)//多组输入if (input>0) //if...else 嵌套循环判断{printf("1\n");}else if (input==0){printf("0.5\n");}else{printf("0\n");}return 0;
}
代码 2 :
#include <stdio.h>int main() {int t=0;while (scanf("%d", &t) != EOF) {getchar();if(t<0){printf("0\n");}else if(0==t){printf("0.5\n");}else {printf("1\n");}}return 0;
}
这种写代码的方式是很推荐的
防止定义输入错误
只要你一输入错误,系统就能立马报错
值得推荐 但有时却想不起来
知识点:
if...else if...else 语句
一个 if 语句后可跟一个可选的 else if...else 语句,这可用于测试多种条件。
当使用 if...else if...else 语句时,以下几点需要注意:
- 一个 if 后可跟零个或一个 else,else 必须在所有 else if 之后。
- 一个 if 后可跟零个或多个 else if,else if 必须在 else 之前。
- 一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被测试。
语法
C 语言中的 if...else if...else 语句的语法:
if(boolean_expression 1)
{/* 当布尔表达式 1 为真时执行 */
}
else if( boolean_expression 2)
{/* 当布尔表达式 2 为真时执行 */
}
else if( boolean_expression 3)
{/* 当布尔表达式 3 为真时执行 */
}
else
{/* 当上面条件都不为真时执行 */
}
实例
#include <stdio.h>int main ()
{/* 局部变量定义 */int a = 100;/* 检查布尔条件 */if( a == 10 ){/* 如果 if 条件为真,则输出下面的语句 */printf("a 的值是 10\n" );}else if( a == 20 ){/* 如果 else if 条件为真,则输出下面的语句 */printf("a 的值是 20\n" );}else if( a == 30 ){/* 如果 else if 条件为真,则输出下面的语句 */printf("a 的值是 30\n" );}else{/* 如果上面条件都不为真,则输出下面的语句 */printf("没有匹配的值\n" );}printf("a 的准确值是 %d\n", a );return 0;
}
当上面的代码被编译和执行时,它会产生下列结果:
没有匹配的值
a 的准确值是 100