cho em hỏi muốn chuyển 1 kí tự nào đó trong chuỗi từ chữ hoa sang chữ thường và ngược lại thì làm thế nào ạ??
thanks so much
Biến đổi 1 chuỗi kí tự hoa - thường?
em đang dùng ngôn ngữ nào vậy ?
Anh nhớ các ngôn ngữ hiện nay đều có hàm hỗ trỡ việc chuyển chữ hoa sang chữ thường.
em lên google tìm xem sao.
trong C thì có strups(xâu) để chuyển hết thành chữ hoa. strlows(xâu) để chuyển hết thành chữ thường . Thư viện string.h
em học c em muốn chuyển 1 học 1 số kí tự trong chuỗi thành chữ hoa
anh tìm trên google vời từ khóa : “C: how to convert lowercase to uppercase”
em xem link.
http://www.cplusplus.com/reference/cctype/tolower/
sử dụng mã ascii là được mà tự viết hàm dịch lên dịch xuống là xong
dùng mã ASII đi, kí tự hoa + 32 = kí tự thường và ngược lại
#include<conio.h>
#include<stdio.h>
int main(){
printf("bam ctrl Z de dung lai\n");
printf("nhap chuoi can chuan hoa\n");
int idem=1;
char c;
c=getchar();
while(c!=EOF){
if(c>=65&&c<=122 || c==' '){
if(c==' ')
idem++;
putchar(c);
}
c=getchar();
}
printf("so tu la: %d",idem);
return 0;
}
code của em nek
có anh chị nào sửa lại giúp với
sau khi chuẩn hóa chuỗi thì chuyển kí tự đầu tiên sau dấu cách thành chữ hoa
vd như nhập 123@nguyen tan12 duy
thì in ra Nguyen Tan Duy
Hi vọng là giúp được bạn. Hi vọng C mình không sai gì vì mấy năm ùi không làm việc với nó.
#include <stdio.h>
#include <conio.h>
#include<string.h>
int main ()
{
int flag=0;// de kt no phai la ky tu dau tien cua tu hay hok
printf ("Dien chuoi can chuan hoa: ");
char s[100];// chuoi bang dau nhap vao
gets(s);// nhan chuoi tu ban phim
int strlenS=strlen(s);// lay do dai cua chuoi dc nhap vao
char s2[strlenS];// chuoi ket qua
int i=0;// bien chay theo chuoi ban dau
int i2=0;// chay theo chuoi ket qua. Co no vi cac ki tu khac chu cai khong dc them vao s2
for(i=0;i<strlenS;i++){
if((s[i]>64 && s[i]<91) || (s[i]>96 && s[i]<123) ){// dk la ki tu chu cai
if(flag==0){// co phai ki tu chu dau tien hay hok; gia tri 0 la phai
if((s[i]>96 && s[i]<123))
s2[i2]=s[i]-32;
flag=1;// 1 la khong phai chu cai dau tien.
i2+=1;
}else{
s2[i2]=s[i];
i2+=1;
}
}else{
flag=0;// neu sang ki tu tiep theo khong phai ki tu chu cai thi ki tu chu cai tiep theo se la chu cai dau tien.
if(s2[i2-1]!=' ' && i2!=0){// kiem tra ki tu trc phai dau cach khong. neu khong thi them. neu phai thi bo qua.
s2[i2]=' ';
i2+=1;
}
}
}
int k=0;
for(k=0;k<i2;k++){
printf("%c",s2[k]);
}
getch();
return 0;
}
chuẩn, mới học thì không nên dùng hàm có sẵn trong thư viện