Announcement

Collapse
No announcement yet.

help!.. xem giúp mình bài tập C

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • help!.. xem giúp mình bài tập C

    Viết chương trình nhập vào chỉ số điện cũ, chỉ số điện mới và tính tiền điện phải trả
    trong tháng. Dữ liệu nhập phải được kiểm tra:
    chỉ số điện cũ ≤ chỉ số điện mới ;
    và cách thức tính theo quy định như sau:
    • 100 Kwh định mức đầu tiên có đơn giá trung bình là 1242 Đ/Kwh;
    • Các Kwh thứ 101 đến 150 có đơn giá trung bình là 1304 Đ/Kwh;
    • Các Kwh thứ 151 đến 200 có đơn giá trung bình là 1651 Đ/Kwh;
    • Các Kwh thứ 201 đến 300 có đơn giá trung bình là 1788 Đ/Kwh;
    • Các Kwh thứ 301 đến 400 có đơn giá trung bình là 1912 Đ/Kwh;
    • Từ Kwh thứ 401 trở lên 1962 Đ/Kwh.

    hic.. không mần được chỗ sai, ai giúp mình với.. :cry:

    .................


    #include<stdio.h>
    main()
    {
    unsigned long cu, moi, dien, tien =0;
    int i;

    do
    {
    printf("chi so dien cu: ");
    scanf("%ld", &cu);
    printf("chi so dien moi: ");
    scanf("%ld", &moi);
    }
    while(moi<cu);

    dien=moi-cu;

    for(i=1;i<=100,i<=dien;i++)
    tien+=1242;
    for(i=101;i<=150,i<=dien;i++)
    tien+=1304;
    for(i=151;i<=200,i<=dien;i++)
    tien+=1651;
    for(i=201;i<=300,i<=dien;i++)
    tien+=1788;
    for(i=301;i<=400,i<=dien;i++)
    tien+=1912;
    for(i=401;i<=dien;i++)
    tien+=1962;

    printf("so tien phai tra la: %ld dong", tien);
    }

  • #2
    thay dấu phẩy ở biểu thức điều kiện thứ 2 trong vòng for thành dấu và "&&" là được.
    mà bày này cần chi làm tới 5 vòng for cho nó phức tạp lên thế. chỉ cần kiểm tra lượng điện tiêu thụ ở khoảng nào rồi tính là xong.
    vd: A=103kWh. 100< A < 200 => tiền = 100*dongia1+(A-100)*dongia2.
    Originally posted by gemnett View Post
    Viết chương trình nhập vào chỉ số điện cũ, chỉ số điện mới và tính tiền điện phải trả
    trong tháng. Dữ liệu nhập phải được kiểm tra:
    chỉ số điện cũ ≤ chỉ số điện mới ;
    và cách thức tính theo quy định như sau:
    • 100 Kwh định mức đầu tiên có đơn giá trung bình là 1242 Đ/Kwh;
    • Các Kwh thứ 101 đến 150 có đơn giá trung bình là 1304 Đ/Kwh;
    • Các Kwh thứ 151 đến 200 có đơn giá trung bình là 1651 Đ/Kwh;
    • Các Kwh thứ 201 đến 300 có đơn giá trung bình là 1788 Đ/Kwh;
    • Các Kwh thứ 301 đến 400 có đơn giá trung bình là 1912 Đ/Kwh;
    • Từ Kwh thứ 401 trở lên 1962 Đ/Kwh.

    hic.. không mần được chỗ sai, ai giúp mình với.. :cry:
    :funny::brick::beauty::what:

    Comment


    • #3
      bài này đâu cần làm for cho rắc rổi thế bạn...làm if hoặc gán thông thường vẫn được mà :haha:
      đừng cố gắng trở thành 1 người thành công mà hãy cố gắng trở thành 1 người có giá trị :happy:

      Comment


      • #4
        #include <stdio.h>
        #include <math.h>
        main()
        {
        int CSDC,CSDM,a,s;
        printf("Nhap vao CSDC: ");
        scanf("%d",&CSDC);
        printf("Nhap vao CSDM: ");
        scanf("%d",&CSDM);
        a=CSDM-CSDC;
        if (a<0) printf("So nhap khong hop le");
        else
        {
        if (a<=100) s=a*1242;
        if (a>100&&a<=150) s=1242*100+(a-100)*1304;
        if (a>150&&a<=200) s=124*100+1304*50+(a-150)*1651;
        if (a>200&&a<=300) s=124*100+1304*50+50*1651+(a-200)*1788;
        if (a>300&&a<=400) s=124*100+1304*50+50*1651+1788*100+(a-300)*1912;
        if (a>400) s=124*100+1304*50+50*1651+1788*100+1912*100+(a-400)*1962;
        }
        printf(" Tien dien phai tra la %d",s);
        }

        theo mình làm thế này được không?

        Comment


        • #5
          Code:
          #include <stdio.h>
          
          main() {
              unsigned long fee;
              int old, new, count;
              do {
                  printf("Chi so cu: "); scanf("%d", &old);
                  printf("Chi so moi: "); scanf("%d", &new);
              } while (old > new);
          
              // Chi so da su dung
              count = new - old;
          
              fee = 0;
              // 100 Kwh định mức đầu tiên có đơn giá trung bình là 1242 Đ/Kwh; 
              if (count - 100 >= 0) {
                 fee += 1242 * 100;
                 count -= 100;
              } else {
                 fee += count * 1242;
              }
          
          
              // Các Kwh thứ 101 đến 150 có đơn giá trung bình là 1304 Đ/Kwh; 
              if (count - 50 >= 0) {
                  fee += 1304 * 50;
                  count -= 50;
              } else {
                  fee += count * 1304;
              }
          
          
              // Các Kwh thứ 151 đến 200 có đơn giá trung bình là 1651 Đ/Kwh; 
              if (count - 50 >= 0) {
                  fee += 1651 * 50;
                  count -= 50;
              } else {
                  fee += count * 1651;
              }
          
              // Các Kwh thứ 201 đến 300 có đơn giá trung bình là 1788 Đ/Kwh; 
              if (count - 100 >= 0) {
                  fee += 1788 * 50;
                  count -= 100;
              } else {
                  fee += count * 1788;
              }
          
              // Các Kwh thứ 301 đến 400 có đơn giá trung bình là 1912 Đ/Kwh; 
              if (count - 100 >= 0) {
                  fee += 1912 * 50;
                  count -= 100;
              } else {
                  fee += count * 1912;
              }
          
             // Từ Kwh thứ 401 trở lên 1962 Đ/Kwh. 
             fee += count * 1962;
          
          
             printf("So tien phai thanh toan: %ld", fee);
              
          }

          http://duyet.net

          Comment


          • #6
            copy lại của bạn trên
            Code:
            #include <stdio.h>
            
            main() {
                unsigned long fee;
                int old, new, count;
                do {
                    printf("Chi so cu: "); scanf("%d", &old);
                    printf("Chi so moi: "); scanf("%d", &new);
                } while (old > new);
            
                // Chi so da su dung
                count = new - old;
            
                fee = 0;
                if (count>400)
            	{
            		fee+=(count-400)*1962;
            		count=400;
            	}
                if (count>300)
            	{
            		fee+=(count-300)*1788;
            		count=300;
            	}
                if (count>200)
            	{
            		fee+=(count-200)*1788;
            		count=200;
            	}
                if (count>150)
            	{
            		fee+=(count-150)*1651;
            		count=150;
            	}
                if (count>100)
            	{
            		fee+=(count-100)*1304;
            		count=100;
            	}
                if (count<=100)
            	{
            		fee+=count*1242;
            		count=0;
            	}	
                 printf("so tien phai tra la: %ld dong", fee);
            3422A Trịnh Quang Nghị, F7, Q8
            0938952106 - 0963952106
            Page bán phụ kiện điện thoại, pc giá rẻ

            Comment


            • #7
              Originally posted by gemnett View Post
              Viết chương trình nhập vào chỉ số điện cũ, chỉ số điện mới và tính tiền điện phải trả
              trong tháng. Dữ liệu nhập phải được kiểm tra:
              chỉ số điện cũ ≤ chỉ số điện mới ;
              và cách thức tính theo quy định như sau:
              • 100 Kwh định mức đầu tiên có đơn giá trung bình là 1242 Đ/Kwh;
              • Các Kwh thứ 101 đến 150 có đơn giá trung bình là 1304 Đ/Kwh;
              • Các Kwh thứ 151 đến 200 có đơn giá trung bình là 1651 Đ/Kwh;
              • Các Kwh thứ 201 đến 300 có đơn giá trung bình là 1788 Đ/Kwh;
              • Các Kwh thứ 301 đến 400 có đơn giá trung bình là 1912 Đ/Kwh;
              • Từ Kwh thứ 401 trở lên 1962 Đ/Kwh.

              hic.. không mần được chỗ sai, ai giúp mình với.. :cry:

              .................


              #include<stdio.h>
              main()
              {
              unsigned long cu, moi, dien, tien =0;
              int i;

              do
              {
              printf("chi so dien cu: ");
              scanf("%ld", &cu);
              printf("chi so dien moi: ");
              scanf("%ld", &moi);
              }
              while(moi<cu);

              dien=moi-cu;

              for(i=1;i<=100,i<=dien;i++)
              tien+=1242;
              for(i=101;i<=150,i<=dien;i++)
              tien+=1304;
              for(i=151;i<=200,i<=dien;i++)
              tien+=1651;
              for(i=201;i<=300,i<=dien;i++)
              tien+=1788;
              for(i=301;i<=400,i<=dien;i++)
              tien+=1912;
              for(i=401;i<=dien;i++)
              tien+=1962;

              printf("so tien phai tra la: %ld dong", tien);
              }

              Thay dấu "," thành dấu "&&" nha bạn

              Comment

              LHQC

              Collapse
              Working...
              X