Chuyển đổi số thành ký tự trong C: Trong ngôn ngữ lập trinh C, chúng ta có thể dễ dàng chuyển đổi số trong ký tự bằng sự trợ giúp của vòng lặp vào trường hợp chuyển đổi. Chương trình này để chuyển đổi các số nguyên thành các chuỗi từ được phát triển bằng Edit Editor và được biên dịch bằng trình biên dịch GCC trong hệ điều hành Linux Ubuntu.
Chương trình C để chuyển đổi số thành từ bằng cách sử dụng chuyển đổi trường hợp:
#include
int main()
{
int count = 0, j, temp, number;
char * word_string[1000];
printf("Enter A Number:\t");
scanf("%d", &number);
while(number)
{
temp = number%10;
number = number/10;
switch(temp)
{
case 0: word_string[count++] = "Zero";
break;
case 1: word_string[count++] = "One";
break;
case 2: word_string[count++] = "Two";
break;
case 3: word_string[count++] = "Three";
break;
case 4: word_string[count++] = "Four";
break;
case 5: word_string[count++] = "Five";
break;
case 6: word_string[count++] = "Six";
break;
case 7: word_string[count++] = "Seven";
break;
case 8: word_string[count++] = "Eight";
break;
case 9: word_string[count++] = "Nine";
break;
}
}
for(j = count - 1; j >= 0; j--)
{
printf("\n%s\n\n", word_string[j]);
}
return 0;
}
Đầu ra:
Bài tập:
Viết một chương trình C để nhập một số thập phân và sau đó chuyển đổi số đó thành dạng ký tự. Ví dụ: 4321 là four three two one
Chương trình được viết như sau:
#include
#include
int main(){
long int n,sum=0,r;
system("cls");
printf("enter the number=");
scanf("%ld",&n);
while(n>0)
{
r=n%10;
sum=sum*10+r;
n=n/10;
}
n=sum;
while(n>0)
{
r=n%10;
switch(r)
{
case 1:
printf("one ");
break;
case 2:
printf("two ");
break;
case 3:
printf("three ");
break;
case 4:
printf("four ");
break;
case 5:
printf("five ");
break;
case 6:
printf("six ");
break;
case 7:
printf("seven ");
break;
case 8:
printf("eight ");
break;
case 9:
printf("nine ");
break;
case 0:
printf("zero ");
break;
default:
printf("tttt");
break;
}
n=n/10;
}
return 0;
}
Đầu ra:
Nguyên lý hoạt động của chương trình:
Khởi động chương trình:
Chức năng được gọi lúc khởi động chương trình được đặt tên chính. Việc triển khai tuyên bố không có nguyên mẫu cho hàm này. Nó sẽ được định nghĩa với kiểu trả về của int và không có tham số:
int main(void) { /* ... */ }
hoặc với hai tham số (được gọi là argc và argv, mặc dù bất kỳ tên nào có thể được sử dụng, vì chúng là cục bộ với hàm mà chúng được khai báo):
int main (int argc, char argv []) {/ … * / }
hoặc tương đương, (10) hoặc một số cách thực hiện khác được xác định.
Nếu chúng được khai báo, các tham số cho hàm chính sẽ tuân thủ các ràng buộc sau đây:
Giá trị của argc sẽ không âm.
argv [argc] sẽ là một con trỏ rỗng.
Nếu giá trị của argc lớn hơn 0, các thành viên mảng argv [0] thông qua argv [argc-1] bao gồm các con trỏ tới các chuỗi, các giá trị được xác định bởi môi trường máy chủ trước khi khởi động chương trình. Mục đích là cung cấp thông tin chương trình được xác định trước khi khởi động chương trình từ các nơi khác trong môi trường được lưu trữ. Nếu môi trường máy chủ không có khả năng cung cấp các chuỗi ký tự bằng chữ hoa và chữ thường, việc thực hiện phải đảm bảo rằng các chuỗi được nhận trong chữ thường.
Nếu giá trị của argc lớn hơn 0, chuỗi được trỏ tới bởi argv [0] đại diện cho tên chương trình; argv [0] [0] phải là ký tự null nếu tên chương trình không có sẵn trong môi trường máy chủ. Nếu giá trị của argc lớn hơn một, các chuỗi được chỉ ra bởi argv [1] thông qua argv [argc-1] biểu diễn các tham số của chương trình.
Các tham số argc và argv và các chuỗi được chỉ vào bởi mảng argv có thể được sửa đổi bởi chương trình, và giữ lại các giá trị được lưu trữ cuối cùng giữa chương trình khởi động chương trình và kết thúc chương trình. Vì vậy, int có thể được thay thế bằng một tên typedef được định nghĩa là int, hoặc loại argv có thể được viết như char ** argv, và như vậy.
Chấm dứt chương trình
Nếu kiểu trả về của hàm main là kiểu tương thích với int, một trả về từ lệnh gọi ban đầu đến hàm main tương đương với việc gọi hàm exit với giá trị được trả về bởi hàm main làm đối số của nó; (11) } mà kết thúc hàm main trả về một giá trị bằng 0. Nếu kiểu trả về không tương thích với int, trạng thái kết thúc trả về môi trường máy chủ không được chỉ rõ.
Các bài tập về lập trình C khác bạn nên học: