在 C 语言中判断整数或浮点数

CCBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在这个实验中,我们将编写一个 C 程序来检查输入的数字是整数还是浮点数。我们将使用基本的字符串操作技术来检查用户输入中是否存在小数点。

注意:你需要自己创建文件 ~/project/main.c 来练习编码,并学习如何使用 gcc 编译和运行它。

cd ~/project
## 创建 main.c
touch main.c
## 编译 main.c
gcc main.c -o main
## 运行 main
./main

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("`C`")) -.-> c/BasicsGroup(["`Basics`"]) c(("`C`")) -.-> c/ControlFlowGroup(["`Control Flow`"]) c(("`C`")) -.-> c/CompoundTypesGroup(["`Compound Types`"]) c(("`C`")) -.-> c/UserInteractionGroup(["`User Interaction`"]) c/BasicsGroup -.-> c/variables("`Variables`") c/BasicsGroup -.-> c/data_types("`Data Types`") c/ControlFlowGroup -.-> c/if_else("`If...Else`") c/ControlFlowGroup -.-> c/while_loop("`While Loop`") c/CompoundTypesGroup -.-> c/arrays("`Arrays`") c/CompoundTypesGroup -.-> c/strings("`Strings`") c/UserInteractionGroup -.-> c/user_input("`User Input`") c/UserInteractionGroup -.-> c/output("`Output`") subgraph Lab Skills c/variables -.-> lab-123267{{"`在 C 语言中判断整数或浮点数`"}} c/data_types -.-> lab-123267{{"`在 C 语言中判断整数或浮点数`"}} c/if_else -.-> lab-123267{{"`在 C 语言中判断整数或浮点数`"}} c/while_loop -.-> lab-123267{{"`在 C 语言中判断整数或浮点数`"}} c/arrays -.-> lab-123267{{"`在 C 语言中判断整数或浮点数`"}} c/strings -.-> lab-123267{{"`在 C 语言中判断整数或浮点数`"}} c/user_input -.-> lab-123267{{"`在 C 语言中判断整数或浮点数`"}} c/output -.-> lab-123267{{"`在 C 语言中判断整数或浮点数`"}} end

包含所需的库

我们需要包含标准输入/输出头文件 stdio.h 以进行标准 I/O 操作,包含 conio.h 头文件以支持控制台输入/输出操作,以及包含 string.h 头文件以执行字符串操作。

#include<stdio.h>
#include<conio.h>
#include<string.h>

声明变量

我们将为程序声明所需的变量。我们将使用 char 数据类型以字符串格式存储输入的数字 number。一个 int 数据类型的 flag 变量用于跟踪输入中是否存在小数点。字符串的长度存储在另一个变量 length 中。最后,我们声明一个循环计数器变量 i

char number[10];
int flag = 0;
int length, i = 0;

读取用户输入

我们将提示用户输入一个数字,并使用 scanf() 函数读取输入。

printf("\n\nEnter a number: ");
scanf("%s", number);

判断输入数字是浮点数还是整数

我们使用一个 while 循环来检查 number 字符串中的每个字符是否存在小数点。如果找到小数点,我们将 flag 变量设置为 1 并跳出 while 循环。

while(number[i++] != '\0')
{
    if(number[i] == '.')
    {
        flag = 1;
        break;
    }
}

然后,我们使用条件 if 语句检查 flag 是 1 还是 0。如果 flag 为 1,则打印输入的数是浮点数;否则,打印输入的数是整数。

if(flag)
    printf("\n\n\n\tEntered Number is a Floating point Number\n\n");
else
    printf("\n\n\n\tEntered Number is a integer Number\n\n");

显示输出

最后,我们在控制台上显示输出。

printf("\n\n\n\n\t\t\tCoding is Fun !\n\n\n");
return 0;

总结

在这个实验中,我们学习了如何编写 C 代码来检查输入的数字是浮点数还是整数。程序将用户提供的数字作为字符串扫描,然后分析其内容以查看是否包含小数点。如果包含小数点,程序将其识别为浮点数;如果不包含小数点,则将其识别为整数。希望你已理解这一概念,并能将其用于开发自己的程序。

您可能感兴趣的其他 C 教程