郁闷了,做了N次才写好。最后终于想起来 int 的0等于char的 48..........我晕!!
#include<stdio.h> #include<string.h> #define MAX 100+1 int main() { char str[MAX]; int i; do { gets(str); }while(strlen(str)>100); for(i=0;i<strlen(str);i++) { if(str[i]>='a'&&str[i]<='z') str[i]=str[i]-32; else if(str[i]>='A'&&str[i]<='Z') str[i]=str[i]+32; else if(str[i]>='0'&&str[i]<='9') str[i]=105-str[i]; } char *temp=strrev(str); printf("%s\n",temp); return 0; }