อาร์เรย์ของอักขระเรียกว่าสตริง
ประกาศ
ต่อไปนี้เป็นการประกาศประกาศอาร์เรย์ดังต่อไปนี้ -
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.