例如
#include<stdio.h>
int main()
{
scanf("%d %d ……%d")
这中间我不确定要输入多少个数,可以实现么?
……
……
……
……
谢谢了!~~
根据需要一般选择如下3种方法:
1,已知数量,且个数较少:
scanf("%d%d%d",&a&b&c);
2,已知数量,但数量较多:
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
3,不知道数量
int i=0;
while(scanf("%d",&a[i]))
{
i++;
}
扩展资料:
scanf输入指南:
(1)在高版本的 Visual Studio 编译器中,scanf 被认为是不安全的,被弃用,应当使用scanf_s代替 scanf。
(2) 对于字符串数组或字符串指针变量,由于数组名可以转换为数组和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上"&"操作符。
(3) 可以在格式化字符串中的"%"各格式化规定符之间加入一个整数,表示任何读操作中的最大位数。
(4) scanf函数中没有类似printf的精度控制。
如: scanf("%5.2f",&a); 是非法的。不能企图用此语句输入小数为2位的实数。
(5) scanf中要求给出变量地址,如给出变量名则会出错
如 scanf("%d",a);是非法的,应改为scanf("%d",&a);才是合法的。
(6) 在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔,则可用空格,TAB或回车作间隔。
C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。
(7) 在输入字符数据(%c)时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。
这里我们先建一个固定长度的数组,如下图,数组长度为1000
然后就需要用到循环了,并且设置一个按键“回车键”跳出循环。
这样,不断循环就可以不断地将数字存进数组里。当我们按回车键的时候就会跳出循环,结束输入。而输入的数据就会保存在num数组之中,唯一的缺点就是数组长度是固定的。
扩展资料:
在实际的编程中,往往会发生这种情况,即所需的内存空间取决于实际输入的数据,而无法预先确定。对于这种问题,用静态数组的办法很难解决。
为了解决上述问题,C语言提供了一些内存管理函数,这些内存管理函数结合指针可以按需要动态地分配内存空间,来构建动态数组,也可把不再使用的空间回收待用,为有效地利用内存资源提供了手段。
动态数组是指在声明时没有确定数组大小的数组,即忽略方括号中的下标;当要用它时,可随时用ReDim语句(C语言中用malloc语句)重新指出数组的大小。使用动态数组的优点是可以根据用户需要,有效利用存储空间。
对于静态数组,其创建非常方便,使用完也无需释放,要引用也简单,但是创建后无法改变其大小是其致命弱点!
对于动态数组,其创建麻烦,使用完必须由程序员自己释放,否则严重会引起内存泄露。但其使用非常灵活,能根据程序需要动态分配大小。
因此,利用动态数组就可以避免静态数组的长度不够,内存溢出等问题,换言之,可以更灵活的存储数组,这样就可以根据输入多少个数,创建多大的数组进行存储。
本回答被网友采纳根据需要一般选择如下3种方法:
1.已知数量,且个数较少:
scanf("%d%d%d",&a&b&c);2.已知数量,但数量较多:
3.不知道数量
怎么用C语言的scanf实现一次输入若干个数据
根据需要一般选择如下3种方法:1,已知数量,且个数较少:scanf("%d%d%d",&a&b&c);2,已知数量,但数量较多:for(int i=0;i<n;i++)scanf("%d",&a[i]);3,不知道数量 int i=0;while(scanf("%d",&a[i])){ i++;}
怎么用C语言的scanf实现一次输入若干个数据
int a[15],i;for(i=0;i<15;++i)scanf("%d",&a[i]);
C语言 多组数据输入,每次输入多行怎么实现?
scanf("%d", &numLines); \/\/ 输入行数 \/\/ 处理每组数据的多行输入 for (int i = 0; i < numLines; ++i) { \/\/ 读取每行数据 int a, b;scanf("%d %d", &a, &b);\/\/ 在这里可以进行相应的处理 \/\/ 例如,输出每行数据的和 int sum = a + b;printf("Sum: %d\\n", sum);}...
C语言如何一次输入多个字符串,然后再输出
1、首先打开visual studio软件,新建一个C语言文件。2、接着在C语言文件的顶部导入库内。3、接着运用scanf函数接收用户输入的字符串。4、然后我们利用printf函数打印一下用户输入的内容。5、运行程序以后就会弹出如下图所示的CMD界面,我们输入内容就会自动接收到,然后原样输出内容。6、最后如果你接收其他...
c语言中多个scanf怎么输入
1、首先在打开的C语言中,写上注释内容,然后定义一个枚举,enum 枚举的名称,如下图所示。2、然后在大括号里面定义枚举开始的位置和属性名,如下图所示。3、来到main函数中,为枚举赋予一个变量,如下图所示。4、给这个变量赋值,值是枚举里面定义好的一个属性名。5、最后将这个属性的值打印出来,...
C语言中利用scanf语句输入多个值的问题
1、有一个很严重的错误,输入字符数组的两个 scanf("%d %s %c %c",&person[i].num,&person[i].name,&person[i].sex,&person[i].job);scanf("%s",&person[i].category.position);2、把这两行中字符数组输入时前面的&符号去掉,对字符数组输入本身就是地址,不要加&,改成这样 scanf("...
在C语言中如何可以一次输入好几个字符?
定义一个数组啊,C中没有定义字符串的数据类型。\/\/输入N个字符 include <stdio.h> int main (void){ char zifu[100];scanf ("%s",zifu);printf ("%s",zifu);return 0;}
c语言中,输入若干个数并输出最大值 程序怎么写
输入若干个数 说明 输入的数目是不确定的。所以 一定需要一个结束的标记 一般是使用EOF include <stdio.h>int main(){ int max, n; scanf("%d",&max); while(scanf("%d",&n) == 1) if(max<n) max=n; printf("%d\\n", max);} ...
c语言, 这个程序怎么能改 能输入多组数据。
这样子改:include <stdio.h> void main(){ int i,n,s;while(1){ s=1;scanf("%d",&n);for(i=1;i<=n;i++){ s*=i;} printf("%d!=%d\\n",n,s);} } 你再试一下行不行,我试了,是可以的。
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');\/\/也可用这句代替 ...