ปัญหา
เขียนโปรแกรมนับตัวอักษรซึ่งป้อนโดยผู้ใช้ที่คอนโซล จำนวนครั้งที่ต้องพิมพ์ตัวอักษรนั้นซ้ำในประโยคบนหน้าจอโดยใช้ฟังก์ชัน 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