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);

}