【C/C++】输入数据个数未知情况下输入方法 刷题时经常需要输入多组数据,但是数据个数未知,这时候就不能以数据个数作为输入是否结束的判断标准了,可以通过以下方法来实现未知情况下的输入。 1.C语言:scanf语句会返回其成功读入的参数个数,例如scanf("%d",&a)返回值为1,因此我们可以用scanf返回值为-1判断是否输入...
在C语言中,可以使用循环结构来实现输入未知个数的数据。 一种常用的方法是使用循环结构(如while循环),在每次循环中使用scanf函数来读取输入的数据。当输入的数据符合某种条件时(如输入特定的字符或达到某个特定的条件),退出循环。 以下是一个示例代码: #include <stdio.h> int main() { int num; printf("请输...
int main(){ int a[1000];char c;int i=0;int n=0;while((c=getchar())!='\n'){ if(isdigit(c)){ ungetc(c,stdin);//将c送回输入流 scanf("%d",&a[n++]);} } for(i=0;i<n;i++){ printf("%d",a);} return 0;} ...
1#include<stdio.h>2#include<ctype.h>3intmain()4{5inta[1000];6charc;7inti=0;8intn=0;9while((c=getchar())!='\n')10{11if(isdigit(c))12{13ungetc(c,stdin);//将c送回输入流14scanf("%d",&a[n++]);15}16}17for(i=0;i<n;i++)18{19printf("%d",a[i]);20}21return0;22...
C中接收输入的有getchar()和scanf(),getchar是获取单个字符的,如换行,空格等。如果是一个串的话,用scanf吧,这个函数的用法,你可以百度,解释比较详尽。
通常用的两种方法:第一种,定义一个足够大的数组,比如大概输入10个就定义个arr[65535]。第二种,创建动态链表。 详细就看《数据结构C版》。struct node { int data;struct node* next;}*head;
C没有提供现成的办法,要自己写一段代码实现,具体是:先动态申请一块内存空间,比30字节,向其中输入数据,等到输入满时再申请另一块比30大20或30的内存空间,把前面申请的内存中的内容全部拷贝到新申请的内存中并把前面申请的空间释放。如此往复交替……...
你可以自己写一个函数,初始化一个整型数组,然后每次数据量大于这个数组容量时,在扩容 伪代码如下:1.初始化一个10位的整型数组 int[],i=0,size=10 2.输入时判断i<=size int[i]=input 3.如果i>size 4.新建一个int[size+5]的数组,并将前面的数据copy到这个新数组中 5.重复步骤2 ...
1 折中方法,可以在输入前打印规则,比如说“每个数据用逗号分隔”、“每个数据用?分隔”;2 如果一定要用空格的话,可以用gets函数来接收输入的字符串 格式:gets(字符数组名);功能:gets函数用于将输入的字符串内容存放到指定的字符数组中,输入结尾的换行符'\n'被换成'\0'存储在该数组中。举例...
C语言在数组个数未知的情况下,根据应用情况不同,有三种方式。1,数组元素总数未知,但是需要存储的内容是已知的。其实这是一种变相的已知个数,只是编程者不去计算总个数,把这个工作交给系统来做。这时可以通过数组个数留空,显式初始化数组进行声明。比如 char s[] = "this is a test string";...