Wednesday, November 26, 2014

Câu 4.8: Cho một tệp văn bản gồm các số nguyên cách nhau ít nhất một dấu cách trống. Hãy tính và in ra màn hình trung bình cộng của các phần tử đọc ra từ tệp.

Tạo tệp c:\\input48.txt gồm các số nguyên cách nhau ít nhất một dấu cách trống


#include <stdio.h>
#include <conio.h>
void doctep(int a[],int *n,FILE *l)
{
      while (!feof(l))
      {
            fscanf(l,"%d",&a[*n]);
            *n=*n+1;
      }
}
voidxemmang(int a[],intn)
{
      int i;
      printf("\n");
      for (i=0;i<n;i++)
            printf("  %5d  ",a[i]);
      printf("\n");
}
floattrungbinhcong(int a[],intn)
{
      int i,s=0;
      for (i=0;i<n;i++) s+=a[i];
      return (float)s/n;
}
void main()
{
      int i,n=0,a[1000];
      FILE *u;
      u=fopen("c:\\input48.txt","rt");
      doctep(a,&n,u);
      xemmang(a,n);
      printf("\nTrung binh cong     :   %f  ",trungbinhcong(a,n));
      fclose(u);
      getch();

}

Câu 4.7: Cho một tệp văn bản gồm các số nguyên cách nhau ít nhất một dấu cách trống. Hãy đọc các số nguyên từ tệp ra, tính và in ra màn hình tổng các số có giá trị lẻ.

tạo tệp c:\\input47.txt gồm các số nguyên cách nhau ít nhất một dấu cách trống


#include <stdio.h>
#include <conio.h>
void doctep(int a[],int *n,FILE *l)
{
      while (!feof(l))
      {
            fscanf(l,"%d",&a[*n]);
            *n=*n+1;
      }
}
voidxemmang(int a[],intn)
{
      int i;
      printf("\n");
      for (i=0;i<n;i++)
            printf("  %5d  ",a[i]);
      printf("\n");
}
int tongle(int a[],int n)
{
      int i,dem=0;
      for (i=0;i<n;i++) if(a[i]%2==1) dem+=a[i];
      return dem;
}
void main()
{
      int i,n=0,a[1000];
      FILE *u;
      u=fopen("c:\\input47.txt","rt");
      doctep(a,&n,u);
      xemmang(a,n);
      printf("\nTong cac gia tri le la   :   %d  ",tongle(a,n));
      fclose(u);
      getch();

}

Câu 4.6: Cho một tệp văn bản gồm các xâu ký tự. Viết chương trình đọc tệp, đếm và in ra màn hình số chữ cái in hoa có mặt trong tệp


tạo tệp c:\\input46.txt gồm các xâu ký tự

#include <stdio.h>
#include <conio.h>
#include <string.h>
void demhoa(char s[],int *n)
{
      int i;
      for(i=0;i<strlen(s);i++) if(s[i]>='A'&&s[i]<='Z') *n=*n+1;
}
void main()
{
      int i,n=0;
      char s[200];
      FILE *u;
      u=fopen("c:\\input46.txt","rt");
      while (!feof(u))
      {
            fflush(stdin);
            fgets(s,200,u);
            printf("\n%s",s);
            demhoa(s,&n);
      }
      printf("\nso ki tu hoa trong tep la   :  %5d ",n);
      fclose(u);
      getch();

}

Câu 4.5: Tạo một tệp văn bản gồm hai dòng, mỗi dòng một xâu ký tự. Đọc và in ra màn hình nội dung của tệp.

Tạo tệp c:\\input45.txt gồm hai dòng, mỗi dòng một xâu ký tự và chạy ct xem kết quả

#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
      int i;
      char s[200];
      FILE *u;
      u=fopen("c:\\input45.txt","rt");
      for (i=0;i<2;i++)
      {
            fflush(stdin);
            fgets(s,200,u);
            printf("\n%s",s);
      }
      fclose(u);
      getch();

}

Câu 4.4: Viết chương trình nhập vào từ bàn phím n số nguyên, hãy ghi các số nguyên dương vào một tệp văn bản

chạy xong chương trình vào tệp có địa chỉ c:\\output44.txt xem kết quả bài toán

#include <stdio.h>
#include <conio.h>
void ghitep(int a[],int n,FILE *l)
{
      int i;
      for(i=0;i<n;i++) if(a[i]>0) fprintf(l,"%d",a[i]);
}
voidxemmang(int a[],intn)
{
      int i;
      printf("\n");
      for (i=0;i<n;i++)
            printf("  %5d  ",a[i]);
      printf("\n");
}
voidnhapdulieu(int a[],intn)
{
      int i;
      for (i=0;i<n;i++)
      {
            printf("\nNhap phan tu thu [ %d ]   :  ",i);
            scanf("%d",&a[i]);
      }
}
void main()
{
      int a[1000],n;
      FILE *u;
      u=fopen("c:\\output44.txt","wt");
      printf("\nNhap so phan tu  n =     ");
      scanf("%d",&n);
      nhapdulieu(a,n);
      xemmang(a,n);
      ghitep(a,n,u);
      fclose(u);
      printf("\nHoan tat");
      getch();

}

Câu 4.3: Cho một tệp văn bản gồm các số nguyên cách nhau ít nhất một dấu cách trống. Hãy đọc tệp, đếm và in ra màn hình số phần tử dương có mặt trong tệp

Tạo tệp C:\\inputbai43.txt gồm các số nguyên cách nhau ít nhất 1 dấu cách trống. sau đó chạy ct xem kết quả bài toán

#include <stdio.h>
#include <conio.h>
void doctep(int a[],int *n,FILE *v)
{
       int i=0;
       while(!feof(v))
       {
              fscanf(v,"%d",&a[i]);
              i++;
       }
       *n=i;
}
void xemmang(int a[],int n)
{
       int i;
       printf("\n");
       for(i=0;i<n;i++)
              printf("  %5d  ",a[i]);
       printf("\n");
}
int demduong(int a[],int n)
{
       inti,dem=0;
       for(i=0;i<n;i++) if (a[i]>0) dem++;
       returndem;
}
void main()
{
       int n,a[1000];
       FILE *u;
       u=fopen("c:\\inputbai43.txt","rt");
       doctep(a,&n,u);
       printf("\nMang du lieu doc ra co  %5d  phan tu",n);
       xemmang(a,n);
       printf("\n\n\n  So gia tri duong la   :   %5d  ",demduong(a,n));
       fclose(u);
       getch();

}

Câu 4.2: Cho một tệp văn bản gồm các số nguyên cách nhau ít nhất một dấu cách trống. Hãy đọc các số nguyên từ tệp ra, tính và in ra màn hình tổng các số có giá trị chẵn

Tạo tệp C:\\inputbai42.txt  sau đó chạy code để xem tính và in ra màn hình tổng các số có giá trị chẵn

#include <stdio.h>
#include <conio.h>
void doctep(int a[],int *n,FILE *v)
{
       int i=0;
       while(!feof(v))
       {
              fscanf(v,"%d",&a[i]);
              i++;
       }
       *n=i;
}
void xemmang(int a[],int n)
{
       int i;
       printf("\n");
       for(i=0;i<n;i++)
              printf("  %5d  "a[i]);
       printf("\n");
}
int tong(int a[],int n)
{
       inti,s=0;
       for(i=0;i<n;i++) if (a[i]%2==0) s+=a[i];
       return s;
}
void main()
{
       intn,a[1000];
       FILE *u;
       u=fopen("c:\\inputbai42.txt","rt");
       doctep(a,&n,u);
       printf("\nMang du lieu doc ra co  %5d  phan tu",n);
       xemmang(a,n);
       printf("n= %d",n);
       printf("\n\n\n  Tong cac gia tri chan la  :   %5d  ",tong(a,n));
       fclose(u);
       getch();

}