目前主要分为三个专栏,后续还会添加:
专栏如下: 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