Tiêu đề: Đáp án tự luận môn LTCB Mon Jun 20, 2011 11:53 am
Đây là bài làm của mình ( có chinh sửa đôi chút chứ không phải thực tế mình làm lúc thi đâu nha!!)
Code:
Câu 1: //nhap vao N va tim tat ca cac uoc cua no tinh tong cua cac uoc do #include "stdio.h" #include "conio.h" #include "math.h" void main () { int N,i; long ls; printf("nhap vao N :"); scanf("%d",&N); ls=0; if(N==0) { printf("ban phai nhap n khac 0"); getch(); return ; } else { printf("tat ca cac uoc cua %d la:",N); for(i=1;i<=N;i++) if(N%i==0) { printf("%d ",i); ls=ls+i; } } printf("\n"); printf("tong = %d",ls); getch(); } Câu 2: //nhap vao day An va so nguyen n (1<=n<=50) day A1,A2,...,An //tinh tong cac so trong khoang thu so 0 dau tien va so 0 cuoi cung neu hai so khong nay // gan nhau thi tong bang 0 // cho truoc hai ham // void nhap_A(int A[],int &n) // long Tong_A(int A[],int n) #include "stdio.h" #include "conio.h" #include "math.h" void nhap_A(int A[],int &n) { int i; for(i=0;i<n;i++) { printf("nhap vao A[%d]:",i); scanf("%d",&A[i]); } } long Tong_A(int A[],int n) { int i,j,t; long s=0; for(i=0;i<n;i++) if(A[i]==0) break; for(j=n-1;j>=0;j--) if(A[j]==0) break; if(i+1==j) return s; else for(t=i+1;t<j;t++) s=s+A[t]; return s; } void main() { int A[50],n; printf("nhap vao n :"); scanf("%d",&n); if(n<=0||n>50) { printf("ban phai nhap n khong hop le"); getch(); return ; } else { printf("nhap day A\n"); nhap_A(A,n); printf("Tong = %d ",Tong_A(A,n)); } getch(); } Câu 3: // cho ma tran nXn (1<=n<=20) dem co bao nhieu so duong trong phan tam giac tren cua duong cheo chinh // cho truoc ham int Duyet_Dg(int A[][Max],int n) // goi y duyet tu dong i cho den cot j // neu(i<=j va A[i][j]>0 thi dem bang 1) #include "stdio.h" #include "conio.h" #include "math.h" #define Max 20 int Duyet_Dg(int A[][Max],int n); void main() { int A[20][20],n,i,j; printf("nhap vao n:"); scanf("%d",&n); if(n<=0||n>20) { printf("ban phai nhap n khac 0"); getch(); return ; } else { for(i=0;i<n;i++) for(j=0;j<n;j++) { printf("nhap vao A[%d,%d]:",i,j); scanf("%d",&A[i][j]); } printf("so pt duong la:%d",Duyet_Dg(A,n)); } getch(); } int Duyet_Dg(int A[][Max],int n) { int i,j,dem=0; for(i=0;i<n;i++) for(j=0;j<n;j++) if(i<=j&&A[i][j]>0) dem=dem+1; return dem; }
Các bạn xem rồi cùng thảo luận nha!!!
Được sửa bởi sea god ngày Thu Jun 23, 2011 4:00 pm; sửa lần 1.
phamba91 Member
Tổng số bài gửi : 1
Điểm kinh nghiệm : 23375
Danh tiếng : 0
Ngày tham gia : 20/06/2011
Age : 32
Đến từ : TP.HCM
Tiêu đề: Re: Đáp án tự luận môn LTCB Mon Jun 20, 2011 5:32 pm
Mà trong đề thi, câu 3 yêu cầu viết chỉ Hàm hay là viết cả chương trình luôn vậy mấy bạn?
sea god Member
Tổng số bài gửi : 18
Điểm kinh nghiệm : 24613
Danh tiếng : 0
Ngày tham gia : 16/11/2010
Age : 32
Đến từ : Bình Thuận
Tiêu đề: Re: Đáp án tự luận môn LTCB Tue Jun 21, 2011 1:47 pm
Theo mình thì viết cả chương trình luôn vì tuy đề yêu cầu là viết hàm nhưng trong phần gợi ý có nói: Xuất: số pt dương là: ? Vì thế mình đã làm cả chương trình luôn. Nhưng vân đề đó thì chưa chắc chắn cho lắm, cái đó thì còn phải tùy vào người chấm thi nữa. vậy thì nếu bạn chỉ viết hàm thôi thì cũng đừng lo lắng quá. còn ai làm cả chương trình luôn thì chắc chắn hơn thôi, vì nếu có dư thì cũng đâu có sao, dù gì thi cung có cái hàm trong đó mà.
p/s: Nhân đây mình cũng chúc cho bạn và mọi người trong lớp CNTT1 đạt điểm thật cao trong môn này nha!!!!