Chuyển đổi chương trình ac sang c ++

Viết chương trình C để chuyển đổi một số nguyên (theo ngày) thành năm, tháng và ngày, giả sử rằng tất cả các tháng có 30 ngày và tất cả các năm có 365 ngày

Chuyển đổi chương trình ac sang c ++

Mã C

#include 
int main() {
	int ndays, y, m, d;	
	
	printf("Input no. of days: ");
	
	scanf("%d", &ndays);
	
	y = (int) ndays/365;
	
	ndays = ndays-(365*y);
		
	m = (int)ndays/30;
	
	d = (int)ndays-(m*30);
	
	printf(" %d Year(s) \n %d Month(s) \n %d Day(s)", y, m, d);
	return 0;
}

Đầu ra mẫu

Input no. of days: 2535                                                
 6 Year(s)                                                             
 11 Month(s)                                                           
 15 Day(s)

Sơ đồ

Chuyển đổi chương trình ac sang c ++

Trình chỉnh sửa mã lập trình C

Đóng góp mã và nhận xét của bạn thông qua Disqus

Trước. Viết chương trình C để chuyển đổi một số nguyên đã cho (tính bằng giây) thành giờ, phút và giây.
Tiếp theo. Viết chương trình C nhận 4 số nguyên p, q, r, s từ người dùng trong đó q, r và s là số dương và p là số chẵn. Nếu q lớn hơn r và s lớn hơn p và nếu tổng của r và s lớn hơn tổng của p và q in ra "Giá trị đúng", ngược lại in ra "Giá trị sai".

Mức độ khó của bài tập này là gì?

Dễ dàng trung bình khó

Kiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource



Chia sẻ Hướng dẫn / Bài tập này trên. FacebookTwitter

Lập trình C. Lời khuyên trong ngày

Đâu là sự khác biệt giữa forkvà thread?

Một ngã ba cung cấp cho bạn một quy trình hoàn toàn mới, là bản sao của quy trình hiện tại, với cùng các đoạn mã. Khi hình ảnh bộ nhớ thay đổi (thông thường, điều này là do hành vi khác nhau của hai quy trình), bạn sẽ có một sự tách biệt giữa các hình ảnh bộ nhớ (Sao chép khi ghi), tuy nhiên mã thực thi vẫn giữ nguyên. Các tác vụ không chia sẻ bộ nhớ trừ khi chúng sử dụng một số nguyên mẫu Giao tiếp giữa các quá trình (IPC)

Một tiến trình có thể có nhiều luồng, mỗi luồng thực thi song song trong cùng ngữ cảnh của tiến trình. Bộ nhớ và các tài nguyên khác được chia sẻ giữa các luồng, do đó dữ liệu được chia sẻ phải được truy cập thông qua một số đối tượng nguyên thủy và đồng bộ hóa cho phép bạn tránh hỏng dữ liệu

Nhưng nó không phải là tệp thực thi hoàn chỉnh vì nó không có 'C' và các chức năng khác đi kèm

Liên kết các chương trình

  • 'Trình liên kết' tập hợp các hàm I/O, một số hàm thư viện và các hàm là một phần của chương trình nguồn thành chương trình thực thi cuối cùng

Chuyển đổi chương trình ac sang c ++

Thực thi chương trình

  • ‘Loader’ là phần mềm đã sẵn sàng để thực thi chương trình vào bộ nhớ

  • Trong quá trình thực thi, chương trình đọc dữ liệu từ người dùng, xử lý dữ liệu và chuẩn bị đầu ra

    Trong lập trình C, chúng ta có thể chuyển đổi giá trị của một kiểu dữ liệu (

    #include
    
    int main() {
    
      // create a double variable
      double value = 4150.12;
      printf("Double Value: %.2lf\n", value);
     
    

    // convert double value to integer int number = value;

    printf("Integer Value: %d", number); return 0; }
    5
    #include
    
    int main() {
    
      // create a double variable
      double value = 4150.12;
      printf("Double Value: %.2lf\n", value);
     
    

    // convert double value to integer int number = value;

    printf("Integer Value: %d", number); return 0; }
    6,
    #include
    
    int main() {
    
      // create a double variable
      double value = 4150.12;
      printf("Double Value: %.2lf\n", value);
     
    

    // convert double value to integer int number = value;

    printf("Integer Value: %d", number); return 0; }
    7, v.v. ) sang người khác. Quá trình này được gọi là chuyển đổi loại. Hãy xem một ví dụ,

    #include 
    
    int main() {
        
    
      printf("%d", number);
        
      return 0;
    }
    
    // Output: 34

    Ở đây, chúng tôi đang gán giá trị kép 34. 78 đến biến số nguyên. Trong trường hợp này, giá trị kép được tự động chuyển thành giá trị nguyên 34

    Kiểu chuyển đổi này được gọi là chuyển đổi kiểu ẩn. Trong C, có hai loại chuyển đổi kiểu

    1. Chuyển đổi ngầm định
    2. Chuyển đổi rõ ràng

    Chuyển đổi kiểu ngầm định trong C

    Như đã đề cập trước đó, trong chuyển đổi kiểu ẩn, giá trị của một loại được tự động chuyển thành giá trị của loại khác. Ví dụ,

    #include
    
    int main() {
    
      // create a double variable
      double value = 4150.12;
      printf("Double Value: %.2lf\n", value);
     
    

    // convert double value to integer int number = value;

    printf("Integer Value: %d", number); return 0; }

    đầu ra

    Double Value: 4150.12
    Integer Value: 4150

    Ví dụ trên có một biến kép có giá trị 4150. 12. Lưu ý rằng chúng tôi đã gán giá trị kép cho một biến số nguyên

    ________số 8

    Tại đây, trình biên dịch C sẽ tự động chuyển đổi giá trị kép 4150. 12 đến giá trị số nguyên 4150

    Vì quá trình chuyển đổi diễn ra tự động nên loại chuyển đổi này được gọi là chuyển đổi kiểu ẩn


    Thí dụ. Chuyển đổi loại ngầm định

    #include
    
    int main() {
        
      // character variable
      char alphabet = 'a';
      printf("Character Value: %c\n", alphabet);
    
    

    // assign character value to integer variable int number = alphabet;

    printf("Integer Value: %d", number); return 0; }

    đầu ra

    Input no. of days: 2535                                                
     6 Year(s)                                                             
     11 Month(s)                                                           
     15 Day(s)
    
    0

    Đoạn mã trên đã tạo một biến ký tự alphabet có giá trị

    #include
    
    int main() {
    
      // create a double variable
      double value = 4150.12;
      printf("Double Value: %.2lf\n", value);
     
    

    // convert double value to integer int number = value;

    printf("Integer Value: %d", number); return 0; }
    8. Lưu ý rằng chúng tôi đang gán bảng chữ cái cho một biến số nguyên

    Input no. of days: 2535                                                
     6 Year(s)                                                             
     11 Month(s)                                                           
     15 Day(s)
    
    2

    Tại đây, trình biên dịch C sẽ tự động chuyển đổi ký tự

    #include
    
    int main() {
    
      // create a double variable
      double value = 4150.12;
      printf("Double Value: %.2lf\n", value);
     
    

    // convert double value to integer int number = value;

    printf("Integer Value: %d", number); return 0; }
    8 thành số nguyên 97. Điều này là do, trong lập trình C, các ký tự được lưu trữ bên trong dưới dạng các giá trị số nguyên được gọi là Giá trị ASCII

    ASCII định nghĩa một bộ ký tự để mã hóa văn bản trong máy tính. Trong bảng mã ASCII, ký tự

    #include
    
    int main() {
    
      // create a double variable
      double value = 4150.12;
      printf("Double Value: %.2lf\n", value);
     
    

    // convert double value to integer int number = value;

    printf("Integer Value: %d", number); return 0; }
    8 có giá trị nguyên là 97, đó là lý do tại sao ký tự
    #include
    
    int main() {
    
      // create a double variable
      double value = 4150.12;
      printf("Double Value: %.2lf\n", value);
     
    

    // convert double value to integer int number = value;

    printf("Integer Value: %d", number); return 0; }
    8 được tự động chuyển đổi thành số nguyên 97

    Nếu bạn muốn tìm hiểu thêm về cách tìm giá trị ASCII, hãy truy cập tìm giá trị ASCII của ký tự trong C


    Chuyển đổi loại rõ ràng trong C

    Trong chuyển đổi loại rõ ràng, chúng tôi chuyển đổi thủ công các giá trị của một loại dữ liệu sang loại khác. Ví dụ,

    Input no. of days: 2535                                                
     6 Year(s)                                                             
     11 Month(s)                                                           
     15 Day(s)
    
    6

    đầu ra

    Input no. of days: 2535                                                
     6 Year(s)                                                             
     11 Month(s)                                                           
     15 Day(s)
    
    7

    Chúng ta đã tạo một biến số nguyên có tên là number với giá trị 35 trong chương trình trên. Chú ý mã,

    Input no. of days: 2535                                                
     6 Year(s)                                                             
     11 Month(s)                                                           
     15 Day(s)
    
    8

    Nơi đây,

    • Double Value: 4150.12
      Integer Value: 4150
      2 - đại diện cho loại dữ liệu mà số sẽ được chuyển đổi
    • Double Value: 4150.12
      Integer Value: 4150
      3 - giá trị sẽ được chuyển đổi thành loại
      #include
      
      int main() {
      
        // create a double variable
        double value = 4150.12;
        printf("Double Value: %.2lf\n", value);
       
      

      // convert double value to integer int number = value;

      printf("Integer Value: %d", number); return 0; }
      7

    Thí dụ. Chuyển đổi loại rõ ràng

    #include
    
    int main() {
    
      // create a double variable
      double value = 4150.12;
      printf("Double Value: %.2lf\n", value);
     
    

    // convert double value to integer int number = value;

    printf("Integer Value: %d", number); return 0; }
    0

    đầu ra

    #include
    
    int main() {
    
      // create a double variable
      double value = 4150.12;
      printf("Double Value: %.2lf\n", value);
     
    

    // convert double value to integer int number = value;

    printf("Integer Value: %d", number); return 0; }
    1

    Chúng tôi đã tạo một biến

    Double Value: 4150.12
    Integer Value: 4150
    3 với giá trị 97 trong đoạn mã trên. Lưu ý rằng chúng tôi đang chuyển đổi số nguyên này thành ký tự

    #include
    
    int main() {
    
      // create a double variable
      double value = 4150.12;
      printf("Double Value: %.2lf\n", value);
     
    

    // convert double value to integer int number = value;

    printf("Integer Value: %d", number); return 0; }
    2

    Nơi đây,

    • Double Value: 4150.12
      Integer Value: 4150
      6 - chuyển đổi rõ ràng số thành ký tự
    • Double Value: 4150.12
      Integer Value: 4150
      3 - giá trị sẽ được chuyển đổi thành loại
      Double Value: 4150.12
      Integer Value: 4150
      8

    Mất dữ liệu khi chuyển đổi loại

    Trong các ví dụ trước của chúng tôi, khi chúng tôi chuyển đổi một giá trị kiểu kép thành kiểu số nguyên, dữ liệu sau số thập phân sẽ bị mất

    #include
    
    int main() {
    
      // create a double variable
      double value = 4150.12;
      printf("Double Value: %.2lf\n", value);
     
    

    // convert double value to integer int number = value;

    printf("Integer Value: %d", number); return 0; }
    3

    đầu ra

    #include
    
    int main() {
    
      // create a double variable
      double value = 4150.12;
      printf("Double Value: %.2lf\n", value);
     
    

    // convert double value to integer int number = value;

    printf("Integer Value: %d", number); return 0; }
    4

    Đây, dữ liệu 4150. 12 được chuyển thành 4150. Trong chuyển đổi này, dữ liệu sau dấu thập phân,. 12 bị mất

    Điều này là do

    #include
    
    int main() {
    
      // create a double variable
      double value = 4150.12;
      printf("Double Value: %.2lf\n", value);
     
    

    // convert double value to integer int number = value;

    printf("Integer Value: %d", number); return 0; }
    7 là loại dữ liệu lớn hơn (8 byte) so với
    int number = value;
    0 (4 byte) và khi chúng tôi chuyển đổi dữ liệu từ loại lớn hơn sang nhỏ hơn, sẽ xảy ra tình trạng mất dữ liệu

    Tương tự, có một hệ thống phân cấp các kiểu dữ liệu trong lập trình C. Dựa trên cấu trúc phân cấp, nếu loại dữ liệu cao hơn được chuyển đổi thành loại thấp hơn thì dữ liệu sẽ bị mất và nếu loại dữ liệu thấp hơn được chuyển đổi thành loại cao hơn thì không có dữ liệu nào bị mất