是否回文的判断(c语言,初级接触指针)
来源:互联网 发布:每周开户数据 编辑:程序博客网 时间:2024/05/20 22:37
题目来自《C语言程序设计—现代方法》12章第5题:
输入一段信息,忽略所有不是字母的字符,然后判断这条消息是否回文。
a.用整型变量跟踪数组内的位置
#include<stdio.h>#include<string.h>#include<ctype.h>#define N 50main(){ char a[N],b[]={'0'}; int len_a=0,len_b=0,flag=0; int i=0,j=0; for(i=0;i<N;i++) { scanf("%c",&a[i]); len_a++; if(a[i]=='\n') break; } for(i=0,j=0;i<len_a;i++) { if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')) { b[j]=tolower(a[i]); j++; len_b++; } } for(j=0;j<len_b;j++) printf("%c",b[j]); printf("\n"); for(i=0,j=len_b-1;i<j;) { if(b[i]!=b[j]) { printf("not"); flag++; break; } i++; j--; } if(flag==0) printf("yes"); return 0;}
b.用指针代替整数跟踪数组的位置
#include<stdio.h>#include<ctype.h>#define N 50main(){ char a[N],b[]={'0'}; int len_a=0,len_b=0,flag=0; char *p,*q,*r; p=a; q=b; for(p=a;p<a+N;p++) { scanf("%c",p); len_a++; if(*p=='\n') break; } for(p=a;p<a+len_a;p++) { if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z')) { *q=tolower(*p); q++; len_b++; } } for(q=b;q<b+len_b;q++) printf("%c",*q); printf("\n"); r=b+len_b-1; q=b;//重新指向b[0] for(;q<r;) { if(*q!=*r) { printf("not\n"); flag++; break; } q++; r--; } if(flag==0) printf("yes\n"); return 0;}
0 0
- 是否回文的判断(c语言,初级接触指针)
- C语言实现回文判断(利用指针的方法)
- C语言判断输入的字符串是否为回文结构
- 【C语言】判断字符串是否是回文
- C语言-数组指针判断回文数
- (C语言)回文数的判断
- c语言指针初级
- C和指针之字符串编程练习10(判断字符串是否是回文数)
- C 语言,判断回文
- c语言"回文"判断
- C语言判断回文
- 用c语言判断一个数是否是回文数
- 判断一个数 是否是回文数 C语言代码!
- 【C语言】判断一个数是否为回文字符串
- 【C语言】判断一个数是否为回文数
- 【C语言】判断一个数是否为回文数
- 【C语言】判断一个字符串是否为回文字符串
- C语言判断一个数是否是回文数
- 最小生成树Prim算法理解
- [leetcode]153.154.Find Minimum in Rotated Sorted Array
- 1017 Queueing at Bank --队列模拟2
- 文本分类,数据挖掘和机器学习
- LPC17XX 学习之系统时钟与功率控制
- 是否回文的判断(c语言,初级接触指针)
- DEVc++闪退,来不及查看运行结果的问题
- 寻找数组中最大值
- 数据结构实验之查找六:顺序查找
- Learning Python 016 写文件时,将其用指定的编码方式保存(比如:UTF-8无BOM编码方式)
- CCF-NOIP2016 PJ T1
- linux系统下使用润乾报表设计器
- code[VS]1743反转卡片 SPlay
- 删除数组零元素