Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 3 của 3
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Thắc măc câu lệnh trong bài tính tổng

    Mình đang gõ lại bài mẫu tính f = x/1! + x^2/2! + .... + x^n!

    code:
    Mã:
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    int gt(int a);
    float lt(float a,int b);
    main()
    {
    lap:  int n,i,h;
    float x,f = 0;
    
    printf ("
    
    Moi ban nhap n = ");scanf ("%d",&n);
    printf ("
    
    Nhap x = ");scanf ("%f",&x);
    for (i=1;i<=n;i++)
    f += lt(x,i) / gt(i);
    printf ("
    
    Gia tri cua tong f la %8.2f",f);
    
    
    /* thuc hien lai */
    fflush (stdin);
    h = getch();
    if (h == 13) goto hoi;
    hoi: printf ("
    
    Ban co muon thuc hien lai bai toan 1 lan nua khong? c k");
    fflush (stdin);
    h = getch();
    if (h == 99) goto lap;
    if (h == 107) goto end;
    else goto hoi;
    getch();
    end:; }
    int gt(int a)
    {
    int s = 1,i;
    for (i=1;i<=a;i++)
    s *= i;
    return s;
    }
    float lt(float a,int b)
    {
    float t = 1,i;
    for (i=1;i<=b;i++)
    t *= a;
    return t;
    }
    Mình không hiểu ở phần "thực hiện lại" các lệnh if(h==13) if(h==99) hay h=107 có tác dụng gì ? Mong các bác chỉ bảo hộ, mình tự học nên có nhiều cái vẫn không hiểu.

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    99 là c, 107 là k (Cái này mà cũng dùng ASCII nữa!), 13 là enter.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi prog10
    99 là c, 107 là k (Cái này mà cũng dùng ASCII nữa!), 13 là enter.
    hẳn nào [IMG]images/smilies/smile.png[/IMG]

    nếu ko dùng mã ASCII thì có cách nào so sánh ký tự ko bác ?

    - - - Nội dung đã được cập nhật ngày 22-07-2014 lúc 04:23 PM - - -

    em sửa lại bài 1 chút, bỏ đi phần "thực hiện lại" thì kết quả tính ra lại bằng 0 ? Em đã sai ở đâu vậy ?
    Mã:
    //Tinh luy thua va gai thua
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    int gt(int a);
    int lt(int a,int b);
    
    int gt(int a)
    {
    	int s=1,i;
    	for(i=1;i<a;i++)
    	s=s*i;
    	return s;
    }
    
    int lt(int a, int b)
    {
    	int t,i;
    	for(i=1;i<b;i++)
    	t=t*a;
    	return t;
    }
    main()
    {
    	int n,i,tong=0,x;
    	
    	printf("nhap gia tri cua tong=");
    	scanf("%d",&n);
    	printf("
    nhap gia tri cua x=");
    	scanf("%d",&x);
    	for(i=i;i<n;i++)
    	tong=tong+ lt(x,i)/gt(i);	
    	printf("gia tri tinh dc la %d",tong);
    }

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •