| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1425 人关注过本帖
标题:怎么判断输入的结束
取消只看楼主 加入收藏
xiaona521
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-23
收藏
 问题点数:0 回复次数:7 
怎么判断输入的结束
要求 标准输入一组数,存放到动态数组,动态数组第一个元素代表数字个数

小弟的想法是,首先动态申请一个int字节内存,存个数,然后循环输入数字,循环申请int字节内存
问题是 我试了好多方法,始终写不出正确的判断输入结束的语句,望指教!谢了
搜索更多相关主题的帖子: 结束 判断 输入 
2006-12-05 21:21
xiaona521
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-23
收藏
得分:0 

#include <stdio.h>
#include <stdlib.h>
void main()
{
int *p=NULL,m=0;
int i=0,n=0;
p=(int *)malloc(sizeof(int));
*p=0;
p++;

while('EOF'!=scanf("%d",&m)) // 判断输入的结束 就在这不知道怎么写 请指教
{
p=(int *)malloc(sizeof(int));
*p=m;
n++;
p++;
}
for(i=0;i<=n;i++) //让P指向数组起点
{
p--;
}
for(i=0;i<n;i++)
{
printf("%d ",*(p+i));
}

free(p);

}


2006-12-05 21:35
xiaona521
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-23
收藏
得分:0 
就是输入一连串的数字,然后存在一个动态数组,也许是我的想法走歪了,我只是想输入一个数字,随即在动态数组申请内存存下这个数字,再输入再申请内存,我不知道怎么结束输入。。。

2006-12-05 21:45
xiaona521
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-23
收藏
得分:0 
这个x有什么作用 看不太懂

2006-12-05 21:52
xiaona521
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-23
收藏
得分:0 
if(n>=x)
{
break;
}
元素个数n大于结束标志,跳出循环,明白斑竹的意思,关键是我开始也不知道将要输入几个数字,第一个输入的m值就是整数了,个数是我去计算,斑竹有其他好的算法么

2006-12-05 22:05
xiaona521
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-23
收藏
得分:0 
是,每输入一个数字,n自动加1,x==m,是把第一个m给x,如果按斑竹设置结束标志,此时第一个m 应该是后面将要输入的元素个数吧,题目是要求一开始输入的便是要存到动态数组的数字,个数和输入者输入有关

2006-12-05 22:14
xiaona521
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-23
收藏
得分:0 
[em01恩 就是这意思,回车后就结束,不知道怎么写

2006-12-06 10:14
xiaona521
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-23
收藏
得分:0 

看了斑竹和那朋友的指导,又写了下面的代码,运行不了,断点测试不起作用,能帮看看吗,谢了!
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

void main()
{
int *p=NULL,m=0,*q=NULL;
int n=0,i;
p=(int *)malloc(2*sizeof(int)); //申请存放个数和结束标志空间
*p=0;
for(q=p+1;getch()!=EOF;q++) //q指向下一个申请空间的地址 getch()获取的是什么
{
scanf("%d",&m); //总觉得这个地方有问题
q=(int *)malloc(sizeof(int));
*q=m; //q的值为输入的数
n++;
}
*p=n; //动态数组第一个元素为数字个数
for(i=0;i<=n;i++)
printf("%d ",*(p+i));
}


2006-12-06 10:45
快速回复:怎么判断输入的结束
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045185 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved