实验9 指针1
2013-11-10 22:08
155 查看
/* 判断是否为回文 */ #include<stdio.h> int main(void) { int i,n,m; char s[10]; printf("Enter a string:"); /* 输入提示 */ i=0; while((s[i]=getchar())!='\n') i++; s[i]='\0'; for(n=0,m=i-1;n<m;n++,m--) /* n,m分别指向指向首尾两个字符 */ if(s !=s[m]) /* 判断守卫两个字符是否相等,若不等则不需要继续 */ break; if(n>=m) /* for循环是否正常结束,若是则说明字符串是回文 */ printf("It is a plalindrome\n"); else printf("It is not a plalindrome\n"); return 0; }
/* 输入一行字符,统计并输出其中数字字符,英文字符和其他字符的个数 */ #include<stdio.h> void count(char *s,int *digit,int *letter,int *other) { *digit=*letter=*other=0; while(*s!='\0'){ if(*s>='0'&&*s<='9') (*digit)++; else if((*s>='a'&&*s<='z')||(*s>='A'&&*s<='Z')) (*letter)++; else (*other)++; s++; } } int main() { int i=0,digit,letter,other; char ch,str[80]; printf("Enter charaters:"); ch=getchar(); while(ch!='\n'){ str[i]=ch; i++; ch=getchar(); } str[i]='\0'; count(str,&digit,&letter,&other); printf("digit=%d letter=%d other=%d\n",digit,letter,other); return 0; }