习题 4.5 从键盘上输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其进行检查是否为小于1000的正数。若不是,则要求重新输入。
2023-09-14 09:06:56 时间
C程序设计 (第四版) 谭浩强 习题4.5 个人设计
习题 4.5 从键盘上输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其进行检查是否为小于1000的正数。若不是,则要求重新输入。
代码块
方法1:(利用循环结构)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int x;
float y;
printf("Please enter number:");
scanf("%d", &x);
while (x >= 1000){
printf("Please enter number:");
scanf("%d", &x);
}
y = sqrt(x);
printf("%d value is %d\n", x, int(y));
system("pause");
return 0;
}
方法2:(利用函数的模块化设计)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void input(); //定义输入函数
void value(); //定义平方根输出函数
int n; //定义全局变量
int main()
{
input(); //调用输入函数
value(); //调用平方根输出函数
system("pause");
return 0;
}
//输入函数
void input()
{
printf("Please enter number:");
scanf("%d", &n);
}
//平方根输出函数
void value()
{
double y;
while (n >= 1000)
input(); //此处调用输入函数
y = sqrt(n);
printf("%d value is %d\n", n, (int)y);
}
方法3:(动态分配内存)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void input(int *n);
void sqr(int n);
int main()
{
int *num=(int*)malloc(sizeof(int));
input(num);
sqr(*num);
system("pause");
return 0;
}
void input(int *n)
{
printf("Enter number: ");
scanf("%d", n);
while(*n>=1000||*n<0){
printf("Error! Enter number: ");
scanf("%d", n);
}
}
void sqr(int n)
{
double r=sqrt((double)n);
printf("Result: %.lf\n", r);
}
相关文章
- c++ cin输入空格_cin输入string遇到空格
- C语言中的输入和输出函数【C语言学习笔记】
- C语言编写一个程序,输入10个整数,统计并输出其中正数,负数和零的个数。
- 正则表达式 查找_正则表达式不能输入0
- python中怎样换行输出_python换行继续输入
- pandas读取txt---按行输入按行输出
- C语言实现输出用户输入的字符串中最长的单词
- 文件的输入和输出
- 【数据挖掘】神经网络 后向传播算法 向前传播输入 案例计算分析 ( 网络拓扑 | 输入层计算 | 隐藏层计算 | 输出层计算 )
- ACL2021 | 多粒度输入信息不降低推理速度,腾讯看点提出高效预训练方法LICHEE
- 【C 语言】二级指针作为输入 ( 自定义二级指针内存 | 二级指针排序 | 通过 交换指针指向的内存数据 方式进行排序 )
- 【数字信号处理】线性时不变系统 LTI “ 输入 “ 与 “ 输出 “ 之间的关系 ( LTI 系统单位脉冲响应 | 卷积 | 卷积推导过程 )
- 【数字信号处理】线性时不变系统 LTI “ 输入 “ 与 “ 输出 “ 之间的关系 ( 线性卷积计算案例二 | 计算 卷积 )
- 输入3个数a,b,c,按大小顺序输出详解编程语言
- SAP获取函数/接口输入参数、输出参数、表结构等信息详解编程语言
- Qt软键盘: 让Linux更快速实现输入(linuxqt软键盘)
- 解开Linux的学习之门:退出输入密码(linux退出输入密码)
- 苹果发布更新:用户输入“口吃”一词时将不再出现“眩晕脸”表情符号
- 法Linux安装中文输入法:轻松实现输入中文(linux安装中文输入)
- 嵌入式Linux:让输入变得更简单(嵌入式linux输入法)
- MySQL中如何避免重复数据输入(mysql中不允许重复)
- MySQL中如何输入下划线(mysql下划线怎么打)
- js用正则表达式控制价格输入实现代码
- SqlServer中存储过程中输入和输出参数(简单实例一看就懂)
- JS添加删除一组文本框并对输入信息加以验证判断其正确性
- C++输入一个字符串,把其中的字符按照逆序输出的两种方法解析
- python基础教程之popen函数操作其它程序的输入和输出示例
- 利用Keydown事件阻止用户输入实现代码