for循环中的if语句不应该那么写,当你ch[i]中的字符符合第一if语句是就肯定不会符合第二条if语句,更不会符合第三条if语句。
#include
#include
void main()
{ char ch[80];
char a[80];
int i,c,n=0;i=0;
while((ch[i]=getchar())!='.')
i++;
ch[i]='\0';
for(i=0;i
{
if(ch[i]>='a'&&ch[i]<='z')
{
if(ch[i]>='0'&&ch[i]<='9')
a[n]=ch[i];
n=n+1;
}
}
*/
if ((ch[i]>='A'&&ch[i]<='Z')||(ch[i]>='a'&&ch[i]<='z')||(ch[i]>='0'&&ch[i]<='9'))
a[n++]=ch[i];
a[n]='\0';
for(c=n;c>=0;c--)
printf("%c",a[c]);
}
#include
void main()
{
char ch[80];
int i=0;
while((ch[i++]=getchar())!='.');
for(i=i-2;i>=0;i--)putchar(ch[i]);
putchar('\n');
}
试试这样
if( (ch[i]>='A'&&ch[i]<='Z')
|| (ch[i]>='a'&&ch[i]<='z')
|| (ch[i]>='0'&&ch[i]<='9') )
{
a[n]=ch[i];
n=n+1;
}