30/09/2018, 17:21

Biến đổi 1 chuỗi kí tự hoa - thường?

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

vũ xuân quân viết 19:31 ngày 30/09/2018

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.

Absice viết 19:26 ngày 30/09/2018

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

Thất Học viết 19:26 ngày 30/09/2018

em học c em muốn chuyển 1 học 1 số kí tự trong chuỗi thành chữ hoa

vũ xuân quân viết 19:26 ngày 30/09/2018

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/

Minh Hoàng viết 19:23 ngày 30/09/2018

sử dụng mã ascii là được mà tự viết hàm dịch lên dịch xuống là xong

Nguyễn Duy Khánh viết 19:24 ngày 30/09/2018

dùng mã ASII đi, kí tự hoa + 32 = kí tự thường và ngược lại

Thất Học viết 19:25 ngày 30/09/2018
#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

Con Gà Con viết 19:28 ngày 30/09/2018

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;
}
X viết 19:27 ngày 30/09/2018

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

chuẩn, mới học thì không nên dùng hàm có sẵn trong thư viện

Bài liên quan
0