C语言自学路之计算平方(输入验证)
C语言自学路之计算平方(输入验证)
包含知识点:stdbool.h使用、自定义函数、多文件
检查用户输入是否是个整数,若不符合打印出并给予提示
若scanf()没有成功读取,就会将其留在输入队列中。这时候可以用getchar ( ) 函数逐字读取输入。
main.c 文件
/* 计算特定范围内所有整数平方和(-100^2 - 100^2)*/
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define MAX 100
#define MIN -100
long get_long(void);
bool text_limite(long putdown,long putup,long down,long up);
long sum_squares(long a ,long b);int main()
{long start,stop;//最大值与最小值long answer;printf("This program computes the sum of the squares of integers in a range.\n");printf("The lower bound should not be less than -100.\nand the upper bound should ");printf("not be more than 100.\n(enter 0 for both limits to quit.)\n");printf("Please enter upper limit:");start=get_long();//验证输入是否有效并返回正确的值printf("Please enter lower limit:");stop=get_long();while(start!=0 || stop!=0){if(text_limite(start,stop,MIN,MAX))printf("Please try again.\n");else{answer=sum_squares(start ,stop);printf("The sum of the squares of the integers from %ld to %ld is %ld.\n",start,stop,answer);}printf("(enter 0 for both limits to quit.)\n");printf("Please enter upper limit:");start=get_long();//验证输入是否有效并返回正确的值printf("Please enter lower limit:");stop=get_long();}printf("Bye.");return 0;
}
test_enter文件
long get_long(void)
{long input;char ch;while(scanf("%ld",&input)!=1)//成功读取用户输入的个数{while((ch=getchar())!='\n')//若scanf没有成功读取,就会将其留在输入队列中,就是用getchar()函数逐字读取putchar(ch);printf(" is not a integer.\nPlease enter another one.\n");}return input;
}
test_limite文件
/*测试范围区间大小*/
#include <stdio.h>
#include <stdbool.h>bool text_limite(long putup,long putdown,long down,long upper)
{bool not_good=false;if(putup<putdown){printf("%ld isn't smaller than %ld.\n",putup,putdown);not_good=true;}if(putup<down || putdown<down){printf("Values must be %ld or greater.\n",down);not_good=true;}if(putup>upper || putdown>upper ){printf("Values must be %ld or less.\n",upper);not_good=true;}return not_good;
}
sumup 文件
/*求特定区间平方和*/
#include <stdio.h>long sum_squares(long a ,long b)
{long total=0;long i;for(i=b;i<=a;i++)total+=i*i;return total;
}
C语言自学路之计算平方(输入验证)相关推荐
- C语言自学路之将小写数字完美转换成大写数字
C语言自学路之将小写数字完美转换成大写数字 # define N 6:6位及以内的整数(小数点后不计) PS:中间两条测试数组正确性的可以忽视,我只是每敲一点都喜欢运行测试一下- #include & ...
- java语言显示运算时间_JAVA语言之ACM日期计算:输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天...
本文主要向大家介绍了JAVA语言之ACM日期计算:输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. ACM日期 ...
- 5.23 C语言练习(平均值计算:输入10个整数,求它们的平均值,并输出大于平均值的数据的个数。)
[练习] 题目要求:输入10个整数,输出大于平均值的数据的个数.例如:输入:1 2 3 4 5 6 7 8 9 10输出:5 #include<stdio.h>int main() {// ...
- python输入一个正整数、计算其各个位的数字之和_C语言程序设计:编写程序,输入一个正整数,统计该整数的位数并计算其各个数位上的数字之和。...
点击查看C语言程序设计:编写程序,输入一个正整数,统计该整数的位数并计算其各个数位上的数字之和.具体信息 答:#include /*包含头文件*/void main() /*主函数*/{ int n, ...
- 三角函数算式的c语言表达式,能计算加减乘除表达式,求添加计算平方、三角函数的功能,...
能计算加减乘除表达式,求添加计算平方.三角函数的功能,在线等,急 各位C语言大神,求帮忙,现在代码能计算加减乘除表达式,但是不能计算平方和三角函数,求大神添加功能. 在线等~~~ // EX6_08. ...
- C语言实战题目:从键盘输入数字,计算其中正数的个数,并且计算所有正数的和
C语言实战题目:从键盘输入数字,计算其中正数的个数,并且计算所有正数的和 (遇到负数跳出本次循环继续重新输入,如果遇到0,则结束输入,输出答案) [for循环结构+if选择控制结构] #include ...
- 怎样用才c语言定义一个三位数,怎样编写一个c语言程序计算任意输入一个3位数的整数的各位数字之和。要求主函数包括输入输出和调用该函数。...
点击查看怎样编写一个c语言程序计算任意输入一个3位数的整数的各位数字之和.要求主函数包括输入输出和调用该函数.具体信息 答:#include void main(){ int a,sum=0; pri ...
- R语言使用choose函数计算排列组合:组合数(输入两个参数、combination)
R语言使用choose函数计算排列组合:组合数(输入两个参数.combination) 目录 R语言使用choose函数计算组合数(输入两个参数.combination) R 语言特点 R语言使用ch ...
- 输入一个天数计算几周零几天 C语言,结构体练习——计算输入的日期为本年度第几天...
/*需求:特定的某天是该年的第几天 输入:年月日 输出:根据输入计算它是本年的第几天 */ #include using namespace std; struct Date {//使用结构体定义输入 ...
最新文章
- oracle 11g完全安装教程(CentOS)
- 多角度回顾因果推断的模型方法
- 【Flutter】Hero 动画 ( Hero 实现径向动画 | Hero 组件 createRectTween 设置 )
- ASP.NET AJAX入门系列(9):在母版页中使用UpdatePanel
- Codeforces 1196F K-th Path
- [html] 用一个div模拟textarea的实现
- Hive是如何让MapReduce实现SQL操作的?
- 基于Tablestore Tunnel的数据复制实战
- 程序员输入法_解决Pycharm输入法不跟随光标
- oracle数据库常用操作语句
- nosql数据库之Redis概念及基本操作
- 云计算不可及?私有云对IT架构三大影响
- 我用计算机的故事,计算机老师的我的教育故事随笔
- 国内常见php的CMS建站系统情况分析
- win10系统升级没有声音?老司机教你怎么重新安装声卡驱动
- Codeforces 821B Okabe and Banana Trees 题解
- 人脸姿态估计(计算欧拉角)
- 第六章:项目管理的三要素
- AcWing 1293. 夏洛克和他的女朋友(思维 欧拉筛 图论)
- 乱杀HTML知识点(小白版本)