1. 程式人生 > >判斷迴文(c語言實現)

判斷迴文(c語言實現)

判斷迴文確實是一個寫爛的程式碼了,建立一個標誌位flag即可,但是早上活躍一下頭腦,複習一下

題目

題目描述:
給出一個長度不超過1000的字串,判斷它是不是迴文(順讀,逆讀均相同)的。
輸入:
輸入包括一行字串,其長度不超過1000。
輸出:
可能有多組測試資料,對於每組資料,如果是迴文字串則輸出"Yes!”,否則輸出"No!"。
樣例輸入:
hellolleh
helloworld
樣例輸出:
Yes!
No!

陣列實現

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
	char str[1001];
	int len, flag, i;

	while(scanf("%s",str) != EOF)
	{
		flag = 1;
		len = strlen(str);

		for(i = 0; i < len/2; i ++)
		{
			if(str[i] != str[len - 1 -i])
			{
				flag = 0;
				break;
			}
		}
		if(flag)
			printf("Yes!\n");
		else
			printf("No!\n");
	}

	return 0;
}

指標操作

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
void isSymmetrical(char *str)
{
    char *begin, *end;
    int flag, len = strlen(str);
 
    for (begin = str, end = str + len - 1, flag = 1; begin <= end; begin ++, end --) {
        if (*begin != *end) {
            flag = 0;
            break;
        }
    }
 
    if (flag)
        printf("Yes!\n");
    else
        printf("No!\n");
}
 
 
int main(void)
{
    char str[1001];
 
    while (gets(str)) {
        isSymmetrical(str);
    }
 
    return 0;
}
 
/**************************************************************
    Problem: 1192
    User: wangzhengyi
    Language: C
    Result: Accepted
    Time:10 ms
    Memory:912 kb
****************************************************************/


相關推薦

判斷c語言實現

判斷迴文確實是一個寫爛的程式碼了,建立一個標誌位flag即可,但是早上活躍一下頭腦,複習一下 題目 題目描述: 給出一個長度不超過1000的字串,判斷它是不是迴文(順讀,逆讀均相同)的。 輸入: 輸

[leetcode]Valid Palindrome 判斷C語言實現

Valid Palindrome Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases. F

漢諾塔遞呼叫C語言實現

1.遞迴演算法 遞迴演算法:是一種直接或者間接地呼叫自身的演算法。在計算機編寫程式中,遞迴演算法對解決一大類問題是十分有效的,它往往使演算法的描述簡潔而且易於理解。 遞迴過程一般通過函式或子過程來實現。 遞迴演算法的實質:是把問題轉化為規模縮小了的同類問題的子問題。然後

判斷素數問題C語言實現

判定它是否為素數。只能被1和其自身整除的整數,稱為素數。 /************************************************************************/ /*判斷n是否素數(C語言實現)    /*執行環境:VC++6.

數的判斷C語言實現

http://blog.sina.com.cn/s/blog_5072a15d0100msdb.html 無名小浪 https://zhidao.baidu.com/question/548255538.html zhuhuaizhong 原理: 任何一個數除以10的餘

資料結構C語言實現判斷兩棵二叉樹是否相等,bug求解

判斷兩棵二叉樹是否相等。 遇到了bug,求大神幫忙!!! C語言原始碼: #include <stdio.h> #include <stdlib.h> #include <malloc.h> #define OK 1 #define

二分查詢遞和非遞實現c語言實現

#include<stdio.h>++ int seeqSearch(int a[],int n,int k){     int i=n-1;     for(;i>=0;i--){//遍歷陣列         if(a[i]==k){//找到對應的陣列

建立連結串列的三種演算法C語言實現——正向、逆向、遞

連結串列分為靜態連結串列和動態連結串列,本文主要討論動態連結串列的建立。 靜態連結串列是用兩個陣列模擬一個連結串列,其中一個數組中存實際資料,可以稱之為資料陣列。另一個數組中存資料陣列中各元素的下標,我們稱之為地址陣列(注意地址陣列中存的並不是地址值,而是整形的數)。靜態

二十四進制編碼串轉換為32位無符號整數C語言實現

bool while open 參數錯誤 hint div 第一個字符 bsp opened typedef int BOOL; #define TRUE 1; #define FALSE 0; #define UINT_MAX 0xffffffff

堆排序C語言實現

names 博客 鏈接 c語言實現 建立 ron 要求 clas [1] 之前的博客介紹介紹了數組的兩種排序算法:插入排序和歸並排序(採用遞歸),見鏈接http://blog.csdn.net/u013165521/article/detai

算法 - 棧與隊列C 語言實現

元素 語言 訪問規則 並且 下標 出棧 數據結構 規則 算法 目標: 理解 棧 與 隊列 這兩種數據結構, 並且知道如何應用。 算法 + 數據結構 = 程序 一、堆棧 堆棧是一組元素的集合,類似於數組,但數組可以按下標訪問,堆棧的訪問規則只能為push 與

歸並排序C語言實現

ngs 基本 merge 兩個 它的 efi 分別是 void rec 合並排序(MERGE SORT)是又一類不同的排序方法,合並的含義就是將兩個或兩個以上的有序數據序列合並成一個新的有序數據序列,因此它又叫歸並算法。 它的基本思想就是假

數據結構-線性表的鏈式存儲相關算法C語言實現

存儲位置 lib 方法 lis 逆序 順序 程序 查詢 c語言 鏈表的簡單介紹 為什麽需要線性鏈表 當然是為了克服順序表的缺點,在順序表中,做插入和刪除操作時,需要大量的移動元素,導致效率下降。 線性鏈表的分類 按照鏈接方式: 按照實現角度: 線性鏈表的創建和簡單遍歷

排序C語言實現

內部排序 利用 int 分治 arr 個數 size quic 外部排序 讀數據結構與算法分析 插入排序 核心:利用的是從位置0到位置P都是已排序的 所以從位置1開始排序,如果當前位置不對,則和前面元素反復交換重新排序 實現 void InsertionSort

優先隊列堆) -數據結構C語言實現

++ eem enter ext lock 二次 arr 快速 left 數據結構與算法分析 優先隊列 模型 Insert(插入) == Enqueue(入隊) DeleteMin(刪除最小者) == Dequeue(出隊) 基本實現 簡單鏈表:在表頭插入,並遍歷

Word Count程序C語言實現

地址 組成 other 進一步 and 文件遍歷 stand evel oid Word Count 程序 GitHub地址:https://github.com/MansonYe/Word-Count 一、項目簡介 Word Count 是用以統計文本文件的字符數

P1540_機器翻譯C語言實現

題目背景 小晨的電腦上安裝了一個機器翻譯軟體,他經常用這個軟體來翻譯英語文章。 題目描述 這個翻譯軟體的原理很簡單,它只是從頭到尾,依次將每個英文單詞用對應的中文含義來替換。對於每個英文單詞,軟體會先在記憶體中查詢這個單詞的中文含義,如果記憶體中有,軟體就會用它進行翻譯;如果記憶體中沒有

圖片中畫框C語言實現

在做視覺分析過程中,經常會進行影象格式的轉換以及在原圖上標框,為了更加清晰的認識影象格式,在這裡手動實現了根據YUV資料和RGB資料進行標框的操作。在效能上不及直接使用opencv + cuda, 但是可以更加直觀的理解整個原理。 // draw line // 傳入imgData

樹的三種遍歷方式C語言實現

//************************************************************************* // 【前序】遍歷演算法 //二叉樹不空,先訪問根結點,然後前序遍歷左子樹,再前序遍歷右子樹 //***********************

資料結構中,幾種樹的結構表示方法C語言實現

//***************************************** //樹的多種結構定義 //***************************************** #define MAX_TREE_SIZE 100 typedef int TempType;