อาร์เรย์ของอักขระเรียกว่าสตริง
ประกาศ
ต่อไปนี้เป็นการประกาศประกาศอาร์เรย์ดังต่อไปนี้ -
char stringname [size];
ตัวอย่างเช่น:สตริงอักขระ[50]; สตริงที่มีความยาว 50 ตัวอักษร
การเริ่มต้น
- การใช้ค่าคงที่อักขระตัวเดียว −
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
- การใช้ค่าคงที่สตริง −
char string[10] = "Hello":;
กำลังเข้าถึง − มีสตริงควบคุม "%s" ที่ใช้สำหรับเข้าถึงสตริงจนกว่าจะพบ '\0'
ค้นหาการเกิดขึ้นสูงสุด
ตรรกะในการค้นหาอักขระสูงสุดคือ −
- ขั้นแรก ค้นหาความถี่ของอักขระ โดยใช้โปรแกรมต่อไปนี้
while(string[i] != '\0'){ value = (int)string[i]; frequency[value] += 1; i++; }
- จากสิ่งนี้ เรากำลังค้นหาลักษณะการเกิดสูงสุด
maximum = 0; for(i=0; i<CHARS; i++){ if(frequency[i] > frequency[maximum]) maximum = i; }
ตัวอย่าง
รับด้านล่างเป็นโปรแกรม C เพื่อค้นหาอักขระที่เกิดขึ้นสูงสุดในสตริง -
#include <stdio.h> #define SIZE 100 // Maximum string size #define CHARS 255 // Maximum characters allowed int main(){ char string[SIZE]; int frequency[CHARS]; int i = 0, maximum; int value; printf("Enter the string:\n "); gets(string); for(i=0; i<CHARS; i++){ frequency[i] = 0; // initialize freq of all characters to zero } /* Finds frequency of each characters */ i=0; while(string[i] != '\0'){ value = (int)string[i]; frequency[value] += 1; i++; } /* Finds maximum frequency */ maximum = 0; for(i=0; i<CHARS; i++){ if(frequency[i] > frequency[maximum]) maximum = i; } printf("Maximum occurrence character is '%c' = %d times.", maximum, frequency[maximum]); return 0; }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
Enter the string: tutorials point Maximum occurrence character is 't' = 3 times.