Nhập vào một chuỗi rồi in
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hay nhap vao mot chuoi\n");
char string[255];
gets(string);
printf("%s", string);
return 0;
}
Upper case ký tự đầu tiên của mỗi từ
char string[255];
gets(string);
//Upper case the first letter in each word
if (string[0] != ' ') {
string[0] = toupper(string[0]);
}
for (int i = 0; i < strlen(string); i++) {
if (string[i] == ' ') {
string[i+1] = toupper(string[i+1]);
}
}
printf("%s\n", string);
Cách thứ 2 biến thành một hàm trả về một chuỗi mới mà không thay đổi chuỗi cũ. Ý nghĩa của const char* string hãy tham khảo
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
char* upperString(const char* string);
int main()
{
printf("Hay nhap vao mot chuoi\n");
char string[255];
gets(string);
char* result = upperString(string);
printf("%s\n", result);
free(result);
return 0;
}
char* upperString(const char* string) {
char* temp = malloc((strlen(string) + 1) * sizeof(char));
temp[strlen(string)]= 0; //Terminated character 0
if (string[0] != ' ') {
temp[0] = toupper(string[0]);
} else {
temp[0] = string[0];
}
int i = 1;
while (i < strlen(string)) {
if (string[i-1] == ' ') {
temp[i] = toupper(string[i]);
} else {
temp[i] = string[i];
}
i++;
}
return temp;
}