问题描述:
给定一行字符,逆序输出此行(空格.数字不输出)。
第一行是一个整数N(N<10)表示测试数据的组数每组测试数据占一行,每行数据中间有且只有一个空格(这样你可以把此行当成两个字符串读取)。
每行字符长度不超过40
并且保证输入的字符只有空格(1个),数字,小写字母三种
程序代码:
#include<stdio.h>
#include<string.h>
int main(){
int i,j,n;
char str[40];
scanf("%d",&n);
getchar();
while(n--){
//scanf("%s",&str); //这种输入方法一旦遇到输入空格时就会停止输入。所以此题不能用此输入方法。
gets(str); //输入一个字符串(可以有空格)
for(i=strlen(str)-1;i>=0;i--){
if((str[i]>='a')&&(str[i]<='z'))
printf("%c",str[i]);
}
printf("\n");
}
return 0;
}
要点:
怎样只输出小写字母>>>>>(str[i]>='a')&&(str[i]<='z')怎样利用字符串数组的下标逆序输出,默认是str[i]?>>>>>>>逆序从i=strlen(str)-1开始
输出的其实是一串单个字符>>>>>%c
getchar() gets(str) scanf("%s",&str)