c语言怎么对整形数组部分输入?

就比如说int10,如果我只想键盘输入随便个数的数(不知道确切个数)怎么输入?c语言可以做到吗?... 就比如说int 10,如果我只想键盘输入随便个数的数(不知道确切个数)怎么输入?c语言可以做到吗? 展开
 我来答
Forever_小毅
2020-11-28 · TA获得超过143个赞
知道小有建树答主
回答量:216
采纳率:84%
帮助的人:127万
展开全部

首先你得让程序知道,什么时候该结束,例如我想就输入5个数,那么我提前告诉它,我就只有5个数


#include <stdio.h>


int main()

{

int a[10];

int cnt;

scanf("%d", &cnt);

for (int i = 0; i < cnt; i++)

scanf("%d", &a[i]);


printf("input = :\r\n");

for (int i = 0; i < cnt; i++)

printf("%d ", a[i]);

printf("\r\n");

}


如果我也不知道有几个数,但我想停的时候,他就得停,此时你就得和程序商量好,我输入0的时候,你就停,其它的你就录入


#include <stdio.h>


int main()

{

int a[10];

int cnt = 0;

while (1)

{

scanf("%d", &a[cnt]);

if (a[cnt] == 0)

{

break;

}

cnt++;

}


printf("input = :\r\n");

for (int i = 0; i < cnt; i++)

printf("%d ", a[i]);

printf("\r\n");

}


不论是第一种方法,还是第二种方法,你定义的数组都必须大于你输入的数据数

“啊,我不知道他可能输几个”

对于这种情况,你可以提前告诉他,你最多输入几个,然后再做个限制,比如说你判断当前数量,如果大于10000000,直接break,从循环里退出,然后处理事务

答题不易如无疑问烦请采纳

更多追问追答
追问
while(1)是什么意思?
hellooooooo
尔就是爱耍宝
高能答主

2022-06-15 · 有什么不懂的尽管问我
知道大有可为答主
回答量:1.4万
采纳率:99%
帮助的人:276万
展开全部
这个很简单了啊,只需要定义变量就行,你写多少位无所谓的,但是不能强制int整形,因为一旦里面有一个字母,那么这个就是字符串了,所以直接定义就好了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
中隽8f
2020-11-29 · TA获得超过161个赞
知道小有建树答主
回答量:435
采纳率:39%
帮助的人:43.8万
展开全部
静态数组是没法达成你的需求的,动态数组也不方便。最好是链式结构 : 数据个数最少是0,最多受限于系统内存。你可能还是个新手,随着课程的推进,慢慢就会打消你的异想天开想法的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a1f5b99
2020-11-28
知道答主
回答量:3
采纳率:0%
帮助的人:1581
展开全部
你是想说一个int型数组arr[10],n你只想输入5个数吗?
可以写一个for循环来scanf 如下:
for(int i =0;i<5;i++)
{
scanf("%d",&arr[i]);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
旅初彤2B
2020-11-28 · TA获得超过2.6万个赞
知道大有可为答主
回答量:4.4万
采纳率:65%
帮助的人:5458万
展开全部
可以,你可以约定输入哪一个数跳出循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式