ให้สตริง str[] ภารกิจคือการตรวจสอบว่าสตริงมีอักขระพิเศษหรือไม่ และหากสตริงมีอักขระพิเศษ ให้พิมพ์ "The String is not suitable" มิฉะนั้นให้พิมพ์ " สตริงเป็นที่ยอมรับ”
อักขระพิเศษคืออักขระที่ไม่ใช่ตัวเลขหรือตัวอักษร เช่น − !@#$%^&*()+=-\][‘;/.,{}|:”<>?`~
ดังนั้นในภาษา C Programming เราจะใช้วิธี if-else เพื่อแก้ปัญหา
ป้อนข้อมูล − str[] ={“tutorials-point"}
ผลลัพธ์ - ไม่รับสตริง
ป้อนข้อมูล − str[] ={“tutorialspoint"}
ผลผลิต − สตริงได้รับการยอมรับ
แนวทางที่ใช้ด้านล่างมีดังต่อไปนี้ในการแก้ปัญหา -
-
ข้ามทั้งสตริง
-
จะมองหาอักขระพิเศษ หากมีอักขระพิเศษอยู่ในสตริง ให้พิมพ์ว่า "The string is not accept and break" มิฉะนั้น พิมพ์สตริงได้รับการยอมรับ
แนวทางอื่นๆ
หากเรากำลังเขียนโค้ดในภาษาจาวาหรือภาษาอื่นใดที่สนับสนุนแนวคิดของนิพจน์ทั่วไป แทนที่จะใช้วิธี if-else เราจะใช้นิพจน์ทั่วไปเพื่อตรวจสอบว่านิพจน์นั้นมีอยู่ในสตริงที่กำหนดหรือไม่ นี่ไม่ใช่แค่วิธีการง่ายๆ แต่ยังเป็นวิธีที่รวดเร็วอีกด้วย
อัลกอริทึม
Start
In function int special_character(char str[], int n)
Step 1→ initialize i and flag and set flag as 0
Step 2→ Loop For i = 0 and i < n and ++i
If(str[i] == '!' || str[i] == '@' || str[i] == '#' || str[i] == '$'
|| str[i] == '%' || str[i] == '^' || str[i] == '&' || str[i] == '*'
|| str[i] == '(' || str[i] == ')' || str[i] == '-' || str[i] == '{'
|| str[i] == '}' || str[i] == '[' || str[i] == ']' || str[i] == ':'
|| str[i] == ';' || str[i] == '"' || str[i] == '\'' || str[i] == '<'
|| str[i] == '>' || str[i] == '.' || str[i] == '/' || str[i] == '?'
|| str[i] == '~' || str[i] == '`' then
Print "String is not allowed”
Set flag as 1
break
Step 3→ If flag == 0 then,
Print "string is accepted”
In function int main(int argc, char const *argv[])
Step 1→ Declare and set str[] as {"Tutorials-point"}
Step 2→ set n as strlen(str)
Step 3→ special_character(str, n)
Stop ตัวอย่าง
#include <stdio.h>
#include <string.h>
int special_character(char str[], int n){
int i, flag = 0;
for (i = 0; i < n; ++i){
//checking each character of the string for special character.
if(str[i] == '!' || str[i] == '@' || str[i] == '#' || str[i] == '$'
|| str[i] == '%' || str[i] == '^' || str[i] == '&' || str[i] == '*'
|| str[i] == '(' || str[i] == ')' || str[i] == '-' || str[i] == '{'
|| str[i] == '}' || str[i] == '[' || str[i] == ']' || str[i] == ':'
|| str[i] == ';' || str[i] == '"' || str[i] == '\'' || str[i] == '<'
|| str[i] == '>' || str[i] == '.' || str[i] == '/' || str[i] == '?'
|| str[i] == '~' || str[i] == '`' ){
printf("String is not allowed\n");
flag = 1;
break;
}
}
//if there is no special charcter
if (flag == 0){
printf("string is accepted\n");
}
return 0;
}
int main(int argc, char const *argv[]){
char str[] = {"Tutorials-point"};
int n = strlen(str);
special_character(str, n);
return 0;
} ผลลัพธ์
หากรันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้ -
String is not allowed