输入数字,判定空格和回车

本文介绍了一种使用C语言从标准输入读取一系列整数,并将其存储在一个整数数组中的方法。通过循环和条件判断,程序能够区分数字输入与回车符,从而完成整数序列的正确读取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:用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.  
  3. void main() 
  4.     int data[40]; 
  5.     int i = 0; 
  6.     int pos = 0; 
  7.  
  8.     printf("please input a series num:\n"); 
  9.  
  10.     while(1) 
  11.     { 
  12.         scanf("%d",&data[pos++] ); 
  13.         if( getchar() == '\n') 
  14.         { 
  15.             break; 
  16.         } 
  17.     } 
  18.  
  19.     for( i=0 ; i<pos; i++) 
  20.     { 
  21.         printf("%d ",data[i]); 
  22.     } 
  23.  
  24.     printf("\n"); 

 

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

原文转自:乐搏学院http://www.learnbo.com/front/article/cmsIndex

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值