Bài 1
Post date: Dec 7, 2011 6:41:30 AM
Yêu cầu: Viết một chương trình để nhận vào một chuỗi và in ra nó nếu đó là chuỗi đối xứng.
Ví dụ:
- abba: chuỗi đối xứng.
- abcd: chuỗi không đối xứng
Hướng dẫn giải:
#include<stdio.h>
#include<string.h>
main()
{
char st[30];
int i,j,len,k,tam=0;
char *ptr;
char a,b;
//Nhap chuoi
printf("Nhap vao mot chuoi: ");
scanf("%s",st);
//In chuoi va in chieu dai chuoi
printf("\nChuoi vua nhap la: %s",st);
printf("\nChieu dai cua chuoi la : %d",strlen(st));
len=strlen(st)-1;
ptr=&st[0];
//In chuoi doc nguoc
printf("\nChuoi dao nguoc la : ");
for(j=len;j>=0;j--)
{
printf("%c",*(ptr+j));
}
//Kiem tra chuoi co doi xung khong?
for(i=0,j=len;i<=len/2;i++,j--)
if (*(ptr+i)!=*(ptr+j))
{
tam=1;
break;
}
//In chuoi doi xung
if(tam==0)
printf("\nChuoi '%s' la chuoi doi xung",st);
else
printf("\n\nChuoi '%s' khong phai la chuoi doi xung",st);
}