C语言 实现输入任意多个整数

有时候可能需要在每一行输入的整数不确定,回车作为结束符,整数中间用任意多个空格隔开。

代码如下:

#include<cstdio>
int main()
{
 int num[1000];
 char ch;
 do
 {
  scanf("%d",&a[i++]);
}while((ch=getchar())!= '\n');// 这里用来判断是否输入了回车
return 0;
}
------------------------------------------
while(cin>>b[cnt++],cin.get()!='\n');//也可用这句代替

补充知识:C语言-输入任意多个数字,数字间用空格隔开,然后将数字求和。

C语言练习,看到一个题目:输入任意多个数字,数字间用空格隔开,然后将数字求和。

苦于不会用链表来做一个动态数组,所以用了一个土办法,先定义一个“足够大”的数组,然后将用户输入的数字填入数组,同时用变量记录填入的个数,用于后面for循环的循环次数限制。最后用for循环求和。

C语言代码如下:

#include<stdio.h>
int main()
{
 int array[100];
 int i=0;
 int sum=0;
 char y;
 printf("请输入任意个数,按回车键结束,统计求和\n");
 do
 {
 scanf("%d",&array[i]);
 i++;
 }while(y=getchar()!='\n');   //用于判断是否按了回车
 for(int j=0;j<i;j++)
 {
  sum =sum+array[j];
 }
 printf("求和 = %d \n", sum);
 return 0;
}

除此之外。在网上也看到别的方法:

代码如下:

#include <stdio.h>
int main() {
 int num = 0,sum = 0;
 char ch;
 while((ch = getchar()) != '\n') {
  if(ch >= '0' && ch <= '9') num = 10 * num + ch - '0';
  if(ch == ' ') {
   sum += num;
   num = 0;
  }
 }
 printf("sum = %d\n",sum + num);
 return 0;
}

以上这篇C语言 实现输入任意多个整数就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • C语言之整数划分问题(递归法)实例代码

    C语言之整数划分问题(递归法)实例代码 整数划分问题是算法中的一个经典命题之一,有关这个问题的讲述在讲解到递归时基本都将涉及.所谓整数划分,是指把一个正整数n写成如下形式: n=m1+m2+...+mi; (其中mi为正整数,并且1 <= mi <= n),则{m1,m2,...,mi}为n的一个划分. 如果{m1,m2,...,mi}中的最大值不超过m,即max(m1,m2,...,mi)<=m,则称它属于n的一个m划分.这里我们记n的m划分的个数为f(n,m); 例如但n=4时,他有

  • C语言项目全正整数后再计算的三种参考解答方法

    [项目-全正整数后再计算] 输入3个正整数,其中任一数不是正整数,程序输出Invalid number!,然后结束运行.当第1个数为奇数时,计算后两数之和,当第1个数为偶数时,计算第2数减去第3数的差.无论哪种情形,当结果超过10时按如下示例输出,否则什么也不输出. 示例 1: Enter number 1: 2 Enter number 2: -7 Invalid number! 示例2: Enter number 1: 17 Enter number 2: 3 Enter number 3:

  • C++ 输入scanf()和输出printf()的操作

    在C语言中是用printf函数进行输出,用scanf函数进行输入的.C++保留了C语言的这一用法,在此只作很简单的介绍. scanf函数一般格式是: scanf(格式控制, 输出表列) printf函数的一般格式是 printf(格式控制,输出表列) [例3.4]用scanf和printf函数进行输入和输出. #include <iostream> using namespace std; int main( ) { int a; float b; char c; scanf("%d

  • C语言实现大整数加减运算详解

    前言 我们知道,在数学中,数值的大小是没有上限的,但是在计算机中,由于字长的限制,计算机所能表示的范围是有限的,当我们对比较小的数进行运算时,如:1234+5678,这样的数值并没有超出计算机的表示范围,所以可以运算.但是当我们在实际的应用中进行大量的数据处理时,会发现参与运算的数往往超过计算机的基本数据类型的表示范围,比如说,在天文学上,如果一个星球距离我们为100万光年,那么我们将其化简为公里,或者是米的时候,我们会发现这是一个很大的数.这样计算机将无法对其进行直接计算. 可能我们认为实际应

  • C语言 实现输入任意多个整数

    有时候可能需要在每一行输入的整数不确定,回车作为结束符,整数中间用任意多个空格隔开. 代码如下: #include<cstdio> int main() { int num[1000]; char ch; do { scanf("%d",&a[i++]); }while((ch=getchar())!= '\n');// 这里用来判断是否输入了回车 return 0; } ------------------------------------------ whil

  • C语言数据输入与输出实例详解

    C语言数据输入与输出实例详解 1 概论 C语言提供了跨平台的数据输入输出函数scanf()和printf()函数,它们可以按照指定的格式来解析常见的数据类型,例如整数,浮点数,字符和字符串等等.数据输入的来源可以是文件,控制台以及网络,而输出的终端可以是控制台,文件甚至是网页. 2 数据输出 从第一个c语言程序中,就使用了跨平台的库函数printf实现将一段文字输出到控制台,而实际上,printf()不仅可以将数据按照指定的格式输出到控制台,还可以是网页或者是指定的文件中,printf()函数执

  • C语言实现输入两个数字将其按从小到大输出的方法

    代码实例: 1.第一种方法(if) #include <stdio.h> int main() { int a , b; printf("请输入两个整数:"); scanf("%d%d",&a , &b); if(a > b){ int temp; temp = a; a = b; b = temp; printf("%d < %d \n", a , b); } } 源代码图片: 运行结果截图说明: 到此这

  • vue 输入框输入任意内容返回数字的实现

    本文主要介绍了vue 输入框输入任意内容返回数字,具体如下: 输入任意内容只返回数字 // 提取数字 传入数字 export function changeEvent(item) { let nums = item + ""; if (nums === "") { nums = ""; // 空的话 直接返回空 } else { nums = nums.replace(/[^\d|\.]/g, ""); // 提取出来 一定是

  • go语言题解LeetCode989数组形式的整数加法

    目录 题目描述 思路分析 AC 代码 题目描述 989. 数组形式的整数加法 - 力扣(LeetCode) 整数的 数组形式  num 是按照从左到右的顺序表示其数字的数组. 例如,对于 num = 1321 ,数组形式是 [1,3,2,1] . 给定 num ,整数的 数组形式 ,和整数 k ,返回 整数 num + k 的 数组形式 . 示例 1: 输入:num = [1,2,0,0], k = 34 输出:[1,2,3,4] 解释:1200 + 34 = 1234 示例 2: 输入:num

  • C语言实现输入一个字符串后打印出该字符串中字符的所有排列

    本文实例讲述了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,属于数学里的排列问题.是一个很实用的算法技巧.分享给大家供大家参考.具体实现方法如下: 例如输入字符串abc,则输出由字符a.b.c所能排列出来的所有字符串abc.acb.bac.bca.cab和cba. C语言实现代码如下: /* * Copyright (c) 2011 alexingcool. All Rights Reserved. */ #include <iostream> #include <al

  • c语言实现输入一组数自动从大到小排列的实例代码

    如下所示: #include <stdio.h> main() { int x; printf("请输入要排序数字个数:"); scanf("%d",&x); int i,j,k,a,b,num[x]; printf("输入数据:"); for(i=0;i<x;i++) scanf("%d",&num[i]); for(j=0;j<x;j++) { for(k=j+1;k<x;k+

  • C语言实现输入一颗二元查找树并将该树转换为它的镜像

    本文实例讲述了C语言实现输入一颗二元查找树并将该树转换为它的镜像的方法,分享给大家供大家参考.具体实现方法如下: 采用递归方法实现代码如下: /* * Copyright (c) 2011 alexingcool. All Rights Reserved. */ #include <iostream> #include <iterator> #include <algorithm> using namespace std; struct Node { Node(int

  • 易语言或者怎么输入?易语言或者输入方法

    易语言怎么输入或者,希望能帮到大家. 本人无业,靠此赚取生活费,如果有幸能帮到你. 希望能按照下面做增加我的收入: 1.最重要的是:在底部点击相关按钮,给我投票和点赞 2.请在网络上帮忙分享此篇经验 3.有心得体会或者疑问,点击相应按钮反馈 4.具体操作请看图 1.易语言新建一个windows窗口 点击进入代码编辑区 2.我们输入或者 点击下拉列表里的或者 3.我们展开这个运算符看看 有两个逻辑值需要输入 4.我们分别输入 1<0 2>1 5.我们利用调试输出函数 输入调试输出(1 <

  • 在Python函数中输入任意数量参数的实例

    有时候,预先不知道函数需要接受多少个实参,好在Python允许函数从调用语句中调用语句中收集任意数量的实参.在参数前加上*号. 来看一个制作披萨的函数,它需要接受很多配料,但你无法预先确定顾客要多少种配料.下面的函数只有一个形参*toppings,但不管调用语句提供了多少实参,这个形参都将他们统统收入囊中: def make_pizza(*toppings): """打印顾客点的所有配料""" print(toppings) make_pizza

随机推荐