我是 C 编程新手。我的一个作业问题让我很难受。这里是:
编写一个 ANSI-C 程序,使用 getchar() 从标准输入读取字符,并使用 putchar() 仅将输入中的字母、空格 (' ') 和换行符输出到标准输出。如果字母是小写字母,您的程序应将它们转换为大写字母。例如,给定以下输入:
There are 6 apples and 8 oranges, also 9 bananas ...... @ Apple Store!! See you there!?
你的程序的输出应该是:
THERE ARE APPLES AND ORANGES ALSO BANANAS APPLE STORE SEE YOU THERE
我可以正确使用大写部分,但很难忽略数字和任何其他字符。任何帮助将非常感激。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int c;
while ((c=getchar())!=EOF) {
if ((c>='a' && c<='z'))
c -= 32;
else
while((c==getchar())<'a' || (c==getchar())>'z' ||(c==getchar())!='\n' ||(c==getchar())!=' '); //This is where I am having trouble.
putchar(c);
}
}