永发信息网

怎么用C语言的scanf实现一次输入若干个数据

答案:7  悬赏:30  手机版
解决时间 2021-04-05 16:11
  • 提问者网友:未信
  • 2021-04-04 15:17
怎么用C语言的scanf实现一次输入若干个数据
最佳答案
  • 五星知识达人网友:渡鹤影
  • 2021-04-04 15:27
根据需要一般选择如下3种方法:

1.已知数量,且个数较少:
scanf("%d%d%d",&a&b&c);2.已知数量,但数量较多:

for(int i=0;iscanf("%d",&a[i]);3.不知道数量

int i=0;
while(scanf("%d",&a[i]))
{
i++;
}
全部回答
  • 1楼网友:西岸风
  • 2021-04-04 21:07
用字符串数组
  • 2楼网友:逃夭
  • 2021-04-04 20:40
不可以随便就写%d %d
scanf()函数里必须有 &字符名 来接受你输入的数
你可以用一个循环
int a[]; //定义一个数组用来盛放你要输入的数
for(int i=1;i<=j;i++) // 这里的j必须有范围,否则造成死循环
scanf("%d",a[i]);
根据你自己的需要,对j的值做一个限定。就可以循环输入数字了
  • 3楼网友:底特律间谍
  • 2021-04-04 19:37
这样恐怕不行吧,编译前要指定具体多少的,要实现你的意思,可以用数组(其大小比输入的数量大一些就可以了)
  • 4楼网友:不甚了了
  • 2021-04-04 19:04
用一个for循环就可以了。。。
#include
int main()
{
int n;
int a[100];
int i;
printf("输入输入个数N:\n",&n);
for(i=0;i scanf("%d",&a[i]);
for(i=0;i printf("%d ",&a[i]);
printf("\n");

}
  • 5楼网友:英雄的欲望
  • 2021-04-04 17:53
输入c1后,按下回车键,此时回车键就会当做第二个字符被C2读取,所以两个字符都接受到了字符变量!所以第二个字符不会提醒用户再次输入!
此时要更改此种情况,只需在第一个输入语句后面加上getchar()函数,就可以用它来接受回车键(输入c1后留下的回车键)。此时就正常了!
  • 6楼网友:夜风逐马
  • 2021-04-04 17:04
scanf 执行时,如果没有数值拍入,它会一直等待,所以有不确定个数的数输入时必需有个约定,就是 何时输入结束,例如,当你拍入 字母 时 结束:
#include
#include
int main()
{
int x[1000],i=0,j;
while (1){
j = scanf("%d",&x[i]);
if (j!=1)break; // 当你拍入 1个字母 或 符号时结束
i++;
}
for (j=0;j getch();
}
也可以约定数值为 例如 -9999 结束。if (x[i]== -9999)break;
============
别的方法:如果是输入一行数据,你可以用 gets(), 把一行数据放在长字符串里,然后统计里面含的数的个数,用sscanf 从字符串里 读出。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯