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语言自学路之计算平方(输入验证)相关推荐

  1. C语言自学路之将小写数字完美转换成大写数字

    C语言自学路之将小写数字完美转换成大写数字 # define N 6:6位及以内的整数(小数点后不计) PS:中间两条测试数组正确性的可以忽视,我只是每敲一点都喜欢运行测试一下- #include & ...

  2. java语言显示运算时间_JAVA语言之ACM日期计算:输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天...

    本文主要向大家介绍了JAVA语言之ACM日期计算:输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. ACM日期 ...

  3. 5.23 C语言练习(平均值计算:输入10个整数,求它们的平均值,并输出大于平均值的数据的个数。)

    [练习] 题目要求:输入10个整数,输出大于平均值的数据的个数.例如:输入:1 2 3 4 5 6 7 8 9 10输出:5 #include<stdio.h>int main() {// ...

  4. python输入一个正整数、计算其各个位的数字之和_C语言程序设计:编写程序,输入一个正整数,统计该整数的位数并计算其各个数位上的数字之和。...

    点击查看C语言程序设计:编写程序,输入一个正整数,统计该整数的位数并计算其各个数位上的数字之和.具体信息 答:#include /*包含头文件*/void main() /*主函数*/{ int n, ...

  5. 三角函数算式的c语言表达式,能计算加减乘除表达式,求添加计算平方、三角函数的功能,...

    能计算加减乘除表达式,求添加计算平方.三角函数的功能,在线等,急 各位C语言大神,求帮忙,现在代码能计算加减乘除表达式,但是不能计算平方和三角函数,求大神添加功能. 在线等~~~ // EX6_08. ...

  6. C语言实战题目:从键盘输入数字,计算其中正数的个数,并且计算所有正数的和

    C语言实战题目:从键盘输入数字,计算其中正数的个数,并且计算所有正数的和 (遇到负数跳出本次循环继续重新输入,如果遇到0,则结束输入,输出答案) [for循环结构+if选择控制结构] #include ...

  7. 怎样用才c语言定义一个三位数,怎样编写一个c语言程序计算任意输入一个3位数的整数的各位数字之和。要求主函数包括输入输出和调用该函数。...

    点击查看怎样编写一个c语言程序计算任意输入一个3位数的整数的各位数字之和.要求主函数包括输入输出和调用该函数.具体信息 答:#include void main(){ int a,sum=0; pri ...

  8. R语言使用choose函数计算排列组合:组合数(输入两个参数、combination)

    R语言使用choose函数计算排列组合:组合数(输入两个参数.combination) 目录 R语言使用choose函数计算组合数(输入两个参数.combination) R 语言特点 R语言使用ch ...

  9. 输入一个天数计算几周零几天 C语言,结构体练习——计算输入的日期为本年度第几天...

    /*需求:特定的某天是该年的第几天 输入:年月日 输出:根据输入计算它是本年的第几天 */ #include using namespace std; struct Date {//使用结构体定义输入 ...

最新文章

  1. oracle 11g完全安装教程(CentOS)
  2. 多角度回顾因果推断的模型方法
  3. 【Flutter】Hero 动画 ( Hero 实现径向动画 | Hero 组件 createRectTween 设置 )
  4. ASP.NET AJAX入门系列(9):在母版页中使用UpdatePanel
  5. Codeforces 1196F K-th Path
  6. [html] 用一个div模拟textarea的实现
  7. Hive是如何让MapReduce实现SQL操作的?
  8. 基于Tablestore Tunnel的数据复制实战
  9. 程序员输入法_解决Pycharm输入法不跟随光标
  10. oracle数据库常用操作语句
  11. nosql数据库之Redis概念及基本操作
  12. 云计算不可及?私有云对IT架构三大影响
  13. 我用计算机的故事,计算机老师的我的教育故事随笔
  14. 国内常见php的CMS建站系统情况分析
  15. win10系统升级没有声音?老司机教你怎么重新安装声卡驱动
  16. Codeforces 821B Okabe and Banana Trees 题解
  17. 人脸姿态估计(计算欧拉角)
  18. 第六章:项目管理的三要素
  19. AcWing 1293. 夏洛克和他的女朋友(思维 欧拉筛 图论)
  20. 乱杀HTML知识点(小白版本)

热门文章

  1. java 图片格式转化 wmf,emf -> svg,png
  2. oracle_sql性能优化
  3. Hadoop HA (四) --------- YARN-HA 配置
  4. 水晶报表:页眉或页脚超过了一页 解决方式
  5. vnpy2.0 探索(一)
  6. 复试数据库系统概论(2)
  7. 硬件系统工程师宝典(3)-----信号完整性分析是个啥?
  8. Linux端类似种子猫的软件,值得一试的四款Linux Torrent客户软件
  9. 23.MongoDB地理位置检索
  10. mongodb中地理位置信息的存储和查询