Bài Tập Về Chuỗi Trong C - TopLoigiai
Có thể bạn quan tâm
Đáp án chi tiết, giải thích dễ hiểu nhất cho câu hỏi “Bài tập về chuỗi trong c” cùng với kiến thức tham khảo là tài liệu cực hay và bổ ích giúp các bạn học sinh ôn tập và tích luỹ thêm kiến thức bộ môn Tin học.
Bài tập về chuỗi trong c
Bài 1: Nhập chuỗi s từ bàn phím. Kiểm tra tính đối xứng của chuỗi vừa nhập.
Ý tưởng: Giả sử chuỗi đối xứng, thực hiện giải thuật bác bỏ. Nếu có 1 cặp ký tự (i, n – i -1) khác nhau => chuỗi không đối xứng. Ở đây n là độ dài của chuỗi.
Hướng dẫn:
| 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#include <stdio.h> #include <string.h> char doixung(char s1[100]) { int i; for (i = 0; i < strlen(s1) / 2; i++) { if (s1[i] != s1[strlen(s1) - 1 - i]) { return 0; } } return 1; } int main() { char s1[100]; printf("xin moi ban nhap chuoi\n"); gets(s1); if (doixung(s1) == 0) { printf("chuoi vua nhap khong phai chuoi doi xung\n"); } if (doixung(s1) == 1) { printf("chuoi vua nhap la chuoi doi xung\n"); } }
|
Bài 2: Bài tập mảng ký tự có lời giải – Nhập vào 1 chuỗi và 1 ký tự, kiểm tra ký tự có trong chuỗi hay không, nếu có đưa ra số lần xuất hiện của ký tự đó trong chuỗi.
Hướng dẫn:
| 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
#include <stdio.h> #include <string.h> /*dem ki tu xuat hien trong xau*/ char kiemtra(char chuoi[100], char n) { int i, dem = 0; for (i = 0; i < strlen(chuoi); i++) { if (chuoi[i] == n) { dem++; } } if (dem > 0) { printf("\nki tu %c trong chuoi xuat hien %d lan ", n, dem); } if (dem == 0) { return 1; } } int main() { char chuoi[100], n; int dem = 0; printf("nhap chuoi: "); gets(chuoi); printf("chuoi vua nhap la : %s", chuoi); printf("\nxin moi ban nhap vao ki tu can dem\n"); scanf("%c", &n); if (kiemtra(chuoi, n) == 1) { printf("\nki tu %c khong co trong chuoi\n", n); } } |
Bài 3: Nhập vào 1 chuỗi sau đó nhập váo 1 từ và kiểm tra xem từ đó có xuất hiện trong chuỗi trên hay không, nếu có thì xuất hiện bao nhiêu lần.VD: Nhập vào tran van thoa. Nhập kí tự t → có 2 lần
Hướng dẫn:
#include <stdio.h>
#include <conio.h>
#include <string.h>int main()
{
char xau[50];
char kitukiemtra;
int dem;
printf("Nhap vao mot chuoi: ");
gets(xau);
printf("Nhap vao ki tu muon kiem tra: ");
scanf("%c",&kitukiemtra);
for(int i=0;i<strlen(xau)-1;i++)
{
if(xau[i]==kitukiemtra
dem++;
}
if(dem==0)
printf("Ki tu %c khong co trong chuoi",kitukiemtra);
else
printf("Ki tu %c xuat hien %d lan trong chuoi",kitukiemtra,dem);
getch();
}
Bài 4: Nhập vào 1 dãy số và đọc dãy số đó.
VD: 123 đọc là một trăm hai mươi ba
Hướng dẫn:
#include <conio.h>
#include <stdio.h>
#include <string.h>
char doc_so[50];
char *docso(int n)
{
char doc[10][5]={"","Mot","Hai","Ba","Bon","Nam","Sau","Bay","Tam","Chin"};
doc_so[0]=0;
int donvi=n%10;
n=n/10;
int chuc=n%10;
int tram=n/10;
if(tram>0)
{
strcat(doc_so,doc[tram]);
strcat(doc_so," Tram ");
}
if(chuc>0)
{
if(chuc==1)
strcat(doc_so," Muoi ");
else
{
strcat(doc_so,doc[chuc]);
strcat(doc_so," Muoi ");
}
}
if(donvi>0)
strcat(doc_so,doc[donvi]);
return doc_so;
}
int main()
{
int n;
printf("Nhap vao mot day so: ");
scanf("%d",&n);
if(n==0)
{
printf("Khong");
}
else
{
int tram=n%1000;
n=n/1000;
int ngan=n%1000;
n=n/1000;
int trieu=n%1000;
int ty=n/1000;
if(ty>0)
{
printf("%s Ty",docso(ty));
}
if(trieu>0)
{
printf(" %s Trieu ",docso(trieu));
}
if(ngan>0)
{
printf(" %s Ngan ",docso(ngan));
}
if(tram>0)
{
printf(" %s ",docso(tram));
}
}
getch();
}
Bài 5: Chuyển chuỗi nhập từ bàn phím thành chữ viết hoa, viết thường và viết hoa mỗi chữ cái đầu mỗi từ.
| 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
#include <stdio.h> #include <string.h>
void to_lower(char s[]) { for (int i = 0; s[i] != '\0'; i++) { if (s[i] >= 'A' && s[i] <= 'Z') { s[i] = s[i] + 32; } } }
void to_upper(char s[]) { for (int i = 0; s[i] != '\0'; i++) { if (s[i] >= 'a' && s[i] <= 'z') { s[i] = s[i] - 32; } } }
void to_title(char str[]) { for (int i = 0; str[i] != '\0'; i++) { if (str[i] >= 'A' && str[i] <= 'Z') str[i] += 32; if (str[i - 1] == ' ' || i == 0) { if (str[i] >= 'a' && str[i] <= 'z') str[i] = str[i] - 32; } } }
int main() { char s[100]; int i;
printf("\nEnter a string : "); gets(s); to_lower(s); printf("\nString in Lowercase = %s", s); to_upper(s); printf("\nString in Uppercase = %s", s); to_title(s); printf("\nString in Titlecase = %s", s); return 0; }
|
Kết quả chạy:
| 0 1 2 3 4 5 6 |
Enter a string : nGUYEN van HIEU
String in Lowercase = nguyen van hieu String in Uppercase = NGUYEN VAN HIEU String in Titlecase = Nguyen Van Hieu
|
Từ khóa » Bài Tập Xâu Ký Tự Trong C
-
3 [Bài Tập C ( Xâu Ký Tự)]. Đếm Các Loại Ký Tự Khác Nhau Trong Xâu
-
26 [C++]. Hướng Dẫn Giải Bài Tập Xâu Kí Tự Trong C++ Phần I
-
Một Số Bài Tập Về Chuỗi Kí Tự Trong C++ CÁCH GIẢI ...
-
Bài 62. Bài Tập Chuỗi Trong C Có Lời Giải - Lập Trình Không Khó
-
Bài Tập Về Chuỗi Trong C (không Sử Dụng Hàm)
-
Bài Tập Về Xâu Trong Ngôn Ngữ Lập Trình C. Đếm Số Ký Tự Số ... - Dungnv
-
#26 [C++]. Hướng Dẫn Giải Bài Tập Xâu Kí Tự Trong C++ Phần I 2023
-
Bài Tập Về Chuỗi Trong Lập Trình C (kèm Lời Giải)
-
String : Bài Tập Về Xâu Trong C++: đếm Số Lần Xuất Hiện Của Một Ký Tự ...
-
Bài Tập Chuỗi Trong C++
-
Xâu Trong C++ - VNOI
-
Bài Tập Về Xử Lý Xâu Trong C++: Chuyển Các Ký Tự In Thường Sang In Hoa