嗜血魂K

导航

写给10月末的今天

everything is changing.
虽然没得到班主任的许可,但我的确现在是在机房,并且中午也会出现在机房(每两天回一次寝室)。

我已经取得比较多的时间了,该是我自己努力了。

从昨天就开始写某水ojc001:合并同类项,各种看错题意,不过我基本功真的好弱。

对于没有读入特殊标记的数据,比如这题,一行为一串数据,表示压力真的很大。

我只能够用开个大数组fgets,再移动指针不断的读。

这次写的:

void read(int *a,int *b, int *len)
{
char s[MAXN], buf[MAXN], *p = s;
fgets(s, MAXN, stdin);
do{
sscanf(p, "%d%d", &a[(*len)], &b[(*len)]);
sprintf(buf, "%d%d", a[*len], b[*len]);
*len += 1;
p += 2 + strlen(buf);
memset(buf, '\0', MAXN);
}while(strchr(p, ' ') != NULL);
}

其实以前也写过,可能很久没认真写过题了吧。

今天还是不能AC这题,明天应该可以了,完成读入数据了,主题

=============================================================================================

我错了,读入数据写得还是有问题,搞了半天搞了个坑坑巴巴的

void read(int *a,int *b, int *len)
{
char s[MAXN], buf[MAXN], *p = s;
fgets(s, MAXN, stdin);
s[strlen(s)] = ' ';
s[strlen(s+1)] ='\0';
while(sscanf(p, "%d%d", &a[(*len)], &b[(*len)]) == 2)
{
sprintf(buf, "%d %d", a[*len], b[*len]);
*len += 1;
p =p+strlen(buf)+1;
memset(buf, '\0', MAXN);
}
}

但是这题还是未能AC,自己没考虑到的事情还有点多,我还在纳闷怎么没看到数据结构的思想,这才发现这题得用栈的思想。只有周末回去改代码了。

我觉得我真的好低效

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

事实证明我写的读入数据代码还是有问题,今天请教了一个网友

采用scanf("%d%c", &a, c),判断c是不是回车\n(ASCII:10)进行读取

其实我是知道Linux下是\n,windows\r\n,却还是不敢这样写 0 0

posted on 2011-09-28 18:35  嗜血魂K  阅读(183)  评论(0)    收藏  举报