ปัญหา
เขียนโปรแกรมนับตัวอักษรซึ่งป้อนโดยผู้ใช้ที่คอนโซล จำนวนครั้งที่ต้องพิมพ์ตัวอักษรนั้นซ้ำในประโยคบนหน้าจอโดยใช้ฟังก์ชัน strlen()
วิธีแก้ปัญหา
ตรรกะที่เราใช้ในการนับตัวอักษรมีดังนี้ −
- ขอให้ผู้ใช้ป้อน ประโยค ที่รันไทม์
printf("Enter a sentence\n");
gets(str); - ขอให้ผู้ใช้ป้อน จดหมาย ที่รันไทม์
printf("Enter a character to check how many times it is repeating\n");
scanf("%c",&c); - ตรรกะในการนับตัวอักษรในประโยคมีดังนี้ −
for(i=0;i<strlen(str);i++){
if(str[i]==c){
count++;
}
} - สุดท้ายพิมพ์จำนวน
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C เพื่อนับตัวอักษรที่ซ้ำหลายครั้งในประโยค −
#include<stdio.h>
#include<string.h>
main(){
int i,count=0;
char c,str[100];
printf("Enter a sentence\n");
gets(str);
printf("Enter a character to check how many times it is repeating\n");
scanf("%c",&c);
for(i=0;i<strlen(str);i++){
if(str[i]==c){
count++;
}
}
printf("Letter %c repeated %d times\n",c,count);
} ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะสร้างผลลัพธ์ต่อไปนี้ -
Enter a sentence Here are the C Programming question and answers Enter a character to check how many times it is repeating n Letter n repeated 4 times