Back
#include<stdio.h>
#include<ctype.h>
#define SIZE 10
#define BUFSIZE 100
char buf[BUFSIZE];
int bufp=0;
int getint(int *);
int getch(void);
void ungetch(int);
int main()
{
int i,n, array[SIZE];
for(n=0; n < SIZE && getint(&array[n]) != EOF; n++);
putchar(array[n]);
return 0;
}
int getint(int *pn)
{
int c, sign;
while(isspace(c=getch()));
if(!isdigit(c) && c!=EOF && c!= '+' && c!='-')
{
ungetch(c);
return 0;
}
sign = (c=='-') ? -1 : 1;
if(c == '+' || c == '-') c=getch();
for(*pn=0; isdigit(c); c=getch())
*pn = 10 * *pn + (c - '0');
*pn *= sign;
if ( c != EOF) ungetch(c);
return c;
}
int getch(void)
{
return (bufp > 0) ? buf[--bufp] : getchar();
}
void ungetch(int c)
{
if (bufp >= BUFSIZE) printf("ungetch: too many characters\n");
else
buf[bufp++]=c;
}
Top |