Tổng hợp đề thi THỰC HÀNH Lập Trình Căn Bản và code bài giải

Gửi bài mới   Trả lời chủ đề này

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Tổng hợp đề thi THỰC HÀNH Lập Trình Căn Bản và code bài giải

Bài gửi  Admin on Mon Nov 19, 2012 9:20 am

Đề thi cuối kì 1 2012-2013[cô Phan Phương Lan-nhóm 1 đề 1]:
[You must be registered and logged in to see this image.]
Code bài giải:
Code:
#include<stdio.h>
#include<conio.h>

struct dathuc{
   int heso;
   int somu;
};

void Nhap(dathuc a[],int n){
   int valid;
   for(int i=n-1;i>=0;i--){
      printf("\n%d.\n",n-i);
      printf("Nhap he so: ");scanf("%d",&a[i].heso);
      valid=0;
      while(valid==0){
         printf("Nhap so mu: ");scanf("%d",&a[i].somu);
         if(i==n-1) break;
         if(a[i].somu < a[i+1].somu) valid=1;
         else printf("So mu phai nho hon so mu truoc do. Vui long nhap lai!\n");
      }      
   }
}
void In(dathuc a[], int n){
   int i=n-1;
   while(i>=0){
      if(i==0){
         printf("%dx^%d",a[i].heso,a[i].somu);
         break;
      }
      printf("%dx^%d+",a[i].heso,a[i].somu);
      i--;
   }
}
float pow(float x,int k){
   if(k==0) return 1;
   if(k==1) return x;
   else return x*pow(x,k-1);
}
float Tong(dathuc a[], int n, float x){
   float S=0;
   for(int i=n-1;i>=0;i--){
      S=S+a[i].heso*pow(x,a[i].somu);
      if(i==0){
         return S;
         break;
      }
   }
}
float Tong_daoham(dathuc a[], int n, float x){
   float S=0;
   for(int i=n-1;i>=0;i--){
      S=S+a[i].heso*a[i].somu*pow(x,a[i-1].somu);
      //truong hop a[0] co so mu la 1 thi dao ham la a[0].heso * 1 = a[0].heso
      if(i==1 && a[i-1].somu==1){
         S=S+a[i-1].heso;
         return S;
      }
      //truong hop a[0] co so mu la 0 thi dao ham la a[0].heso * 0 = 0
      if(i==1 && a[i-1].somu==0){
         return S;
      }
      if(i==0){
         return S;
      }
   }
}
int main(){
   int n;
   printf("\nNhap so luong phan tu: ");
   scanf("%d",&n);
   dathuc a[n];
   Nhap(a,n);
   printf("\nDa thuc:");
   In(a,n);
   float x;
   printf("\nNhap x:");
   scanf("%f",&x);
   float tong=Tong(a,n,x);
   printf("\nTong S=%.2f",tong);
   float tong1=Tong_daoham(a,n,x);
   printf("\nTong dao ham cua da thuc tren la S=%.2f",tong1);
   getch();
   return 0;
}

Admin
Admin

Tổng số bài gửi : 217
Reputation : 20
Join date : 17/11/2012
Age : 24

Xem lý lịch thành viên http://elcit.forumvi.com

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang

- Similar topics

Gửi bài mới   Trả lời chủ đề này
 
Permissions in this forum:
Bạn được quyền trả lời bài viết