最近遇到一个编程问题,想了好久,把它整理为一个c语言的题目考考大家,先不要觉得这个题目很简单,不看答案做着看看吧。

题目:用c实现,以空格为分割,以回车为结束标记,输入一串数字到一个int数组中。

例如

int data[40];

输入: 11 12 22 33 44 55 66 77 88 99(回车)

结果: 数组data的第0~9号元素依次被赋值为上述值,打印出来,然后程序正常退出。

难点分析

当然,获取int型数字的输入不难,scanf("%d",&data[i])即可,关键是怎么样判定用户输入的是数字、空格还是回车,以int型来获取输入,则只能得到int值,以char型获取输入则只能得到char值,不能得到int数据。

----------------------------------------------------------------------------------------------

【答案】:

完整的c语言代码如下所示:

  1. #include <stdio.h>
  2. void main()
  3. {
  4. int data[40];
  5. int i = 0;
  6. int pos = 0;
  7. printf("please input a series num:\n");
  8. while(1)
  9. {
  10. scanf("%d",&data[pos++] );
  11. if( getchar() == '\n')
  12. {
  13. break;
  14. }
  15. }
  16. for( i=0 ; i<pos; i++)
  17. {
  18. printf("%d ",data[i]);
  19. }
  20. printf("\n");
  21. }

你能说出其中的原理吗?你有更好地解决方案吗?欢迎留言交流。

转载于:https://blog.51cto.com/ticktick/591500

考考你:输入数字,判定空格和回车相关推荐

  1. 计算机符号大写怎么退出,如何输入数字,字母 和 回车换行符,大写字母锁定输入模式怎么退出...

    如何输入数字,字母 和 回车换行符,大写字母锁定输入模式怎么退出 1234笔画输入法 - 使用帮助 如何输入数字,字母: 如果你开启了大键盘输入,可以按Shift键,切换中英文输入模式:就可以输入:数 ...

  2. html如何隐藏中间数字,打数字有空格怎么办 键盘打出的数字有空格怎么去掉

    为什么我的电脑打数字都会有空格电脑打数字都会有空格可以按照以下方法来解决: 检查空格键是否被卡住了: 按shift+空格键应该可以恢复了: 输入法 设置成 半角 中文标点应该就可以: 按照以上的方法尝 ...

  3. ACMNO.26 C语言-字符统计2 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。

    题目描述 编写一函数,由实参传来一个字符串,统计此字符串中字母.数字.空格和其它字符的个数, 在主函数中输入字符串以及输出上述结果. 只要结果,别输出什么提示信息. 输入 一行字符串 输出 统计数据, ...

  4. 输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。

    输入一行字符,分别统计出其中英文字母.数字.空格和其他字符的个数.(C语言) #include<stdio.h> int main(){char ch;int space=0,number ...

  5. 写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)

    一.题目 输入描述: 第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符. 输出描述: 输出输入字符串中含有该字符的个数.(不区分大小写字母) 示例1 输入: ABCabc A 输出: ...

  6. ACMNO.25 C语言-间隔输出 写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出1 9 9 0。 输入 一个四位数 输出 增加空格输出

    题目描述 写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格.如输入1990,应输出"1 9 9 0". 输入 一个四位数 输出 增加空格输出 样例输入 199 ...

  7. 写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出1 9 9 0。

    题目描述 写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格.如输入1990,应输出"1 9 9 0". 输入 一个四位数 输出 增加空格输出 样例输入 199 ...

  8. 输入一个字符串,对字符中的各个英文字符,数字,空格进行统计。 按照统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASII码由小到大排序输出

    题目描述: 输入一个字符串,对字符中的各个英文字符,数字,空格进行统计.按照统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASII码由小到大排序输出. 输入描述:输入一串字符. 输出描述:对 ...

  9. c语言:(指针)输入一行文字,找出其中的大写字母,小写字母,数字,空格以及其他字符

    c语言:(指针)输入一行文字,找出其中的大写字母,小写字母,数字,空格以及其他字符 #include<stdio.h> #include<stdlib.h> #include& ...

最新文章

  1. ALV输出的时候,输出字段内容前面的空格
  2. 卡尔蔡司携手神策数据,赋能近视防控数字化
  3. PHP 杂谈《重构-改善既有代码的设计》之二 对象之间搬移特性
  4. Python3.x:pip命令安装第三方库,超时处理方案
  5. SAP CRM和C4C message category配置
  6. React开发(172):React引入背景图片
  7. google账号解除游戏绑定_成长守护平台解除实名认证 公众号解绑操作流程
  8. Grunt Server:Fatal error: Port 35729 is already in use by another process.
  9. AutoCad2012安装与使用
  10. numpy下载失败解决方法
  11. c++STL库最详细介绍(保姆级教学)
  12. CAD快速测量面积与周长
  13. 【神经网络解耦】基于matlab的神经网络解耦系统仿真
  14. C语言sb代码,10个重要的算法C语言实现源代码
  15. 3 非齐次线性微分方程与无量纲化
  16. 实数 有理数 无理数
  17. BZOJ 1062: [NOI2008]糖果雨(二维树状数组)
  18. 手机消息同步+android屏幕镜像=电脑微信 for linux
  19. 区块链可扩展性技术:闪电网络
  20. MySQL中如何设置外键

热门文章

  1. php读取大文件某行内容,php读取大文件最后几行数据的实现代码
  2. linux双机脚本pkg如何生效,linux里命令pkg config工具的使用
  3. jmeter csv参数化_运用Jmeter参数化来实现接口自动化测试
  4. ASP.NET Web Pages – 文件夹简介
  5. Dos一键清理系统垃圾教程
  6. 教你如何运用python实现学生信息管理系统
  7. 如何快速学会别人的代码和思维
  8. 7的整除特征 三位一截_小学生三位数加法的策略与表现
  9. mysql中pi是什么意思,MySql delimiter的作用是什么
  10. 【Java】类和对象