Trang 3 trên tổng số 22 Đầu tiênĐầu tiên 1234513... Cuối cùngCuối cùng
Từ 21 tới 30 trên tổng số 217 kết quả

Đề tài: Tuyển tập đề thi + bài giải môn C của các trường

  1. #21
    Ngày gia nhập
    09 2010
    Nơi ở
    Hà Nội
    Bài viết
    381

    Mặc định Tuyển tập đề thi + bài giải môn C của các trường

    Trích dẫn Nguyên bản được gửi bởi birthis Xem bài viết
    @kitti: Cảm ơn tinh thần chia sẻ và sự nhiệt tình của bạn. Và đây là 1 số góp ý của mình:
    - Trường Công nghệ Thông tin Thành phố Hồ Chí Minh chi nhánh Hà Nội:
    + Câu 2: Viết chương trình cho phép nhập n từ bàn phím (nếu n <= 0 thì bắt nhập lại) . Tính tổng s = 1^2 + 2^2+.... + n^2.
    Bài làm lạc đề.
    C Code:
    1. for(i = 1; i <= n; i++) tong += i*i;
    Cái này có thể do copy bị lỗi. Chương trình của mình trên máy của mình là là i*i. mình đã sửa lại cho đúng!
    Trích dẫn Nguyên bản được gửi bởi birthis Xem bài viết
    - Trường đại học Bách Khoa Đà Nẵng:
    + Bài 2:Viết chương trình nhập vào một số nguyên N có dạng abc rồi xuất ra màn hình một số đảo ngược có dạng cba
    Hàm này bị lỗi:
    C Code:
    1. printf("\n xau dao: %s \n");
    cái này mình test không hề bị sai. bạn xem lại đi! để %s hay không đều đc.
    Trích dẫn Nguyên bản được gửi bởi birthis Xem bài viết
    + Bài 4: Liệt kê tất cả các số nguyên tố nhỏ hơn 1000
    và Bài 5: Nhập vào số nguyên N rồi xuất ra màn hình N số nguyên tố
    Hàm kiểm tra số nguyên tố chưa chính xác. Bạn nên lọc các số âm, số 0, số 1 trong hàm này.
    + Bài 11: Nhập mảng 2 chiều có dạng M*N (Hoặc N*N) rồi tính tổng các phần từ.
    C Code:
    1.     do{
    2.         printf("Nhap vao so dong cua ma tran: ");scanf("%d",&dong);
    3.         printf("\nNhap vao so cot cua  ma tran: ");scanf("%d", &cot);
    4.     }while(dong < 2 || cot < 2 && dong > 100 || cot >100);
    Kết quả: dòng = 3, cot = -1. Được chấp nhận. Đây chắc không phải là ý muốn của bạn. Nếu không nắm chắc thứ tự ưu tiên các toán tử nên đặt dấu ngoặc đơn. Mà tốt nhất là nên đặt dấu ngoặc đơn, để người khác còn hiểu.
    - Đề thi Tin Dai cuong 2010 Đại học Bách Khoa Hà Nội
    Tự Luận:
    Không quá 25 ký tự thì phải khai báo mảng họ tên 26 ký tự (1 for NULL).
    hàm kiểm tra số nguyên tố chỉnh sửa lại:
    C Code:
    1. int ktSNT (const int a)
    2. {
    3.     int i = 0;
    4.     for(i = 2; i <= (int)sqrt(a); i++)
    5.     {
    6.         if( a % i == 0 || a < 2 && a != 2)
    7.         {
    8.             return 0;
    9.         }
    10.     }
    11.     return 1;
    12. }
    bài nhập mảng có một chút nhầm lẫn kitti đã sửa lại.
    Trích dẫn Nguyên bản được gửi bởi birthis Xem bài viết
    Nếu không nắm chắc thứ tự ưu tiên các toán tử nên đặt dấu ngoặc đơn. Mà tốt nhất là nên đặt dấu ngoặc đơn, để người khác còn hiểu.
    Nhưng không phảo là lỗi do không hiểu thứ tự ưu tiên trong dấu ngoặc đơn mà bị nhầm toán tử && ở đây phải dùng toán tử ||.
    rất cảm ơn những ý kiến của bạn nhưng lần sau nên test kĩ sai vì lỗi gì thì hãy nói đừng nói lung tung.
    mình có thể biết nó lỗi ở đâu để sửa nhưng những bạn mới lại đi thêm ngoặc vào rồi vẫn thấy bị sai.
    còn bài tự luận mình nhầm và đã sửa lại thành 26.

    skype: hvphu2010
    Yahoo: hvphu2010
    Sdt: 0129 609 4567

  2. #22
    Ngày gia nhập
    09 2010
    Nơi ở
    Hà Nội
    Bài viết
    381

    Trích dẫn Nguyên bản được gửi bởi vodanh2492 Xem bài viết
    Ai chỉ giúp em bài này được không...
    Cho dãy giá trị a(i), i=1..n. Người ta làm trơn giá trị a(i) bằng cách tính lại giá trị a(i) bằng công thức sau a(i)=[A.a(i-2)+B.a(i-1)+C.a(i)+B.a(i+1)+A.a(i+2)]/(2A+2B+C) với A,B,C là những số cho trước. Để đơn giản 2 giá trị đầu và 2 giá trị cuối được giữ nguyên. Viết chương trình làm trơn dãy giá trị trên n lần.
    Thuật toán em biết nhưng viết chương trình làm trơn n lần thì em chịu @@.
    Trích dẫn Nguyên bản được gửi bởi birthis Xem bài viết
    Đưa vào 1 topic mới đi bạn, đây là topic đề thi mà. Nếu đó là đề thi thì bạn nên post đầy đủ thông tin về nó.
    Đúng vậy rất hoan nghênh birthis đã đóng góp cho topic của mình.
    Tốt nhất nên ghi đầy đủ thông tin trường.

    skype: hvphu2010
    Yahoo: hvphu2010
    Sdt: 0129 609 4567

  3. #23
    Ngày gia nhập
    09 2010
    Nơi ở
    Hà Nội
    Bài viết
    381

    Kitti: xin lưu ý mọi người một chút đó là nếu sửa thì sửa trực tiếp vào bài trả lời của mình.
    vd như vodanh2492 nên viết trực tiếp tên trường vào đề bài. không nên viết thành một bài trả lời khác.
    Lưu ý là viết tên trường nên rõ ràng, không viết tắt và đây là topic đề thi nên không giải quyết các vấn đề ngoài đề thi (các đề bài không có tên trường rõ ràng sẽ coi như không phải đề thi).

    skype: hvphu2010
    Yahoo: hvphu2010
    Sdt: 0129 609 4567

  4. #24
    Ngày gia nhập
    01 2011
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi thanhphongcttv Xem bài viết
    C Code:
    1. #include <conio.h>
    2. #include<stdio.h>
    3. #include<malloc.h>
    4.  
    5. int main()
    6. {
    7.     /*
    8.     const float A=2.0;
    9.     const float B=1.0;
    10.     const float C=3.0;
    11.     */
    12.    float A,B,C;
    13.    A=B=C=1.00;
    14.    
    15.    float* mang;
    16.    int n;
    17.    printf("\nNhap vao so luong phan tu: ");
    18.    scanf("%d",&n);
    19.    mang=(float*)malloc(n*sizeof(float));
    20.    printf("\nNhap A=");scanf("%f",&A);
    21.    printf("\nNhap B=");scanf("%f",&B);
    22.    printf("\nNhap C=");scanf("%f",&C);
    23.    
    24.    for(int i=0;i<n;i++)
    25.    {
    26.       printf("\nNhap vao phan tu thu %d: ",i+1);
    27.       scanf("%f",&mang[i]);        
    28.    }
    29.    //Lam tron
    30.    
    31.    for(int i=2;i<n-2;i++)
    32.    {
    33.        mang[i]=(A*mang[i-2]+B*mang[i-1]+C*mang[i]+
    34.        B*mang[i+2]+A*mang[i+1])/(2*A+2*B+C);
    35.  
    36.    }
    37.    //in ra sau khi lam tron
    38.    printf("\nMang sau khi lam tron: \n");
    39.    for(int i=0;i<n;i++)
    40.    {
    41.          printf("%.3f\t",mang[i]);  
    42.    }
    43.    getch();
    44.    return 0;
    45. }
    Cảm ơn bạn nhiều nha ^^

  5. #25
    Ngày gia nhập
    12 2010
    Nơi ở
    Hanoi, Vietnam, Vietnam
    Bài viết
    687

    Trích dẫn Nguyên bản được gửi bởi messi2010 Xem bài viết
    __________________________________________________ ___________
    đây là đề thi tin học đại cương HV CN Bưu Chính Viễn Thông
    (cơ sở 2)

    Đề bài

    Bài 2;
    Nhập một mảng 10 số nguyên trong đó có ít nhất 2 số nhỏ hơn không;
    Tính tổng tất cả các số dương nằm giữa 2 số âm đầu tiên và cuối cùng;
    Nếu 2 số âm kề nhau thì trả về tổng bằng 0;
    các anh cho em hỏi , cái dòng đó ý nghĩa là sao , em vẫn chưa hiểu lắm câu hỏi
    ví dụ như 1 dãy số của nó là 1,2,3,2,5 ,-6 , 4,5,-4,5,-8;
    thì tổng của nó tính bắt đầu từ -4 đến -8 , có nghĩa là tong =5;
    hay là bắt đầu tính từ -6 đến -8 , tổng = 4+5+5 = 14;
    các anh giải tích giùm em với , đọc đề bài thấy khó hiểu quá !

  6. #26
    Ngày gia nhập
    08 2009
    Bài viết
    148

    Mặc định Tuyển tập đề thi + bài giải môn C của các trường

    Trích dẫn Nguyên bản được gửi bởi xuyenit55 Xem bài viết
    các anh cho em hỏi , cái dòng đó ý nghĩa là sao , em vẫn chưa hiểu lắm câu hỏi
    ví dụ như 1 dãy số của nó là 1,2,3,2,5 ,-6 , 4,5,-4,5,-8;
    thì tổng của nó tính bắt đầu từ -4 đến -8 , có nghĩa là tong =5;
    hay là bắt đầu tính từ -6 đến -8 , tổng = 4+5+5 = 14;
    các anh giải tích giùm em với , đọc đề bài thấy khó hiểu quá !
    Mình chọn cái này nè bạn:
    hay là bắt đầu tính từ -6 đến -8 , tổng = 4+5+5 = 14;
    C Code:
    1. #include <conio.h>
    2. #include <stdio.h>
    3. int main(){    char *_="%c%c%c%c%c%c%c%c%c%c%c%c%c%c";int __=3**_+5;
    4.     printf(_,__,__-12,__-19,__-6,__-12,__-4,__-12,__-5,__-6,__-13,__-17,__,__,__+2);
    5.     getch();return 0;}

  7. #27
    Ngày gia nhập
    12 2010
    Nơi ở
    Hanoi, Vietnam, Vietnam
    Bài viết
    687

    Trích dẫn Nguyên bản được gửi bởi JennY Xem bài viết
    bạn vẫn chưa gửi code cái đề bài mình gửi ở topic cho mình xem à
    nó vẫn bị lỗi , hôm nay mình mới thi song nên chưa có thời gian sửa , bây h mình đang sửa nhưng mình ko biết có sửa đc ko ? nếu đc mình sẽ post lên cho bạn !

  8. #28
    Ngày gia nhập
    03 2010
    Nơi ở
    Nơi nào đó trong vũ trụ
    Bài viết
    550

    Trích dẫn Nguyên bản được gửi bởi kitti Xem bài viết
    cái này mình test không hề bị sai. bạn xem lại đi! để %s hay không đều đc.
    Mình không biết hàm printf hoạt động như thế nào nên không thể giải thích cho bạn được. Nhưng mà mình có thể đưa ra ví dụ chứng minh là nó có thể gây lỗi:
    Xem hình này:
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Printf_Demonstrate_BC.JPG
Lần xem:	94
Size:		46.5 KB
ID:		4765
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Printf_Demonstrate_VS.JPG
Lần xem:	80
Size:		98.4 KB
ID:		4766
    Đó là 1 trường hợp, trường hợp khác là chương trình bị crash.

    Nhưng không phảo là lỗi do không hiểu thứ tự ưu tiên trong dấu ngoặc đơn mà bị nhầm toán tử && ở đây phải dùng toán tử ||.
    rất cảm ơn những ý kiến của bạn nhưng lần sau nên test kĩ sai vì lỗi gì thì hãy nói đừng nói lung tung.
    mình có thể biết nó lỗi ở đâu để sửa nhưng những bạn mới lại đi thêm ngoặc vào rồi vẫn thấy bị sai.
    Mình chỉ tìm lỗi, không sửa lỗi. Cái này mình nghĩ là nó bị sai ở phần dấu ngoặc trên cơ sở là đoán ý của bạn. Nhưng không đúng ý của bạn thì thôi, bạn xem lại đâu có mất gì đâu nào.
    PostScript: Mình không có ý đả kích bạn đâu nha. Mình chỉ góp ý thôi mà. Nếu bạn không cần thì thôi vậy.
    Gió thu lạnh lẽo hắt hiu lòng!

  9. #29
    Ngày gia nhập
    12 2010
    Nơi ở
    Hanoi, Vietnam, Vietnam
    Bài viết
    687

    Học viên bưu chính viễn thông ( cơ sở 2 )
    Đề bài : nhập 1 dãy số , tối thiểu là 2 số nguyên âm
    tính tổng các số dương nằm giữa 2 số nguyên âm đầu tiên và cuối cùng của mảng
    nếu 2 số âm liền kề nhau in ra tong =0;

    C++ Code:
    1. #include<iostream>
    2. #include<math.h>
    3. using namespace std;
    4. void input_arg(int *a, int n);
    5. void output_arg( int *a, int n);
    6. int sum_arg( int *a, int n);
    7. int dem_arg( int*a, int n);
    8.  
    9.  
    10. int main(){
    11.    
    12.                 int n,i;
    13.                 int dem_a;
    14.              cout<<" nhap so phan tu cua mang n = ";
    15.                 cin>>n;
    16.                 int *a = new int[n];
    17.                 input_arg(a,n);
    18.  
    19.                 if ( (dem_arg(a,n)) < 2 ) cout<<" xin moi ban nhap lai , toi thieu la 2 so am"<< endl;
    20.                 else {
    21.              // in mang
    22.                 cout<< " \nmang vua nhap la \n";
    23.                 output_arg(a,n);
    24.                 cout<<" \ntong cua mang la : " << sum_arg(a,n);
    25.     }
    26.                 delete[]a;
    27.                 cout<<endl;
    28.                 system ("pause");
    29.                 return 0;
    30. }
    31.  
    32. // ham nhap mang
    33. void input_arg( int *a, int n){
    34.            
    35.               int i;
    36.                  for ( i = 0 ; i < n ; i++){
    37.                        
    38.                     cout<< " a [ " << i << " ] =";
    39.                     cin>>a[i];
    40.        }
    41.  
    42. }
    43. // ham in mang
    44.              
    45. void output_arg( int *a, int n){
    46.            
    47.               int i, dem =0;
    48.                  for ( i = 0 ; i < n ; i++){
    49.                      cout<< a[i] << "  ";
    50.         }
    51.  
    52. }
    53. // ham kiem tra co 2 so am
    54. int dem_arg( int *a, int n){
    55.      
    56.           int dem =0;
    57.           for ( int i = 0 ; i  < n ; i++ ){
    58.                    if ( a[i] < 0 ) {
    59.                         dem ++;
    60.         }
    61.     }
    62.           return dem;
    63. }
    64.  
    65.          
    66.          
    67.                
    68. int sum_arg( int *a, int n){
    69.      
    70.        
    71.              int i,j=0,k=0;
    72.              int tong =0;
    73.              int kt=0;
    74.              for ( i = 0 ; i < n ; i++){
    75.                     //  neu 2 so am lien tiep la so am thi tong =0
    76.                  if (( a[i] < 0) && (a[i+1] < 0 ) ){
    77.                             kt=1;
    78.         }
    79.        
    80.     }
    81.              
    82.              if ( kt ==1) cout<<" tong = 0 "<< endl;
    83.               //  neu khong thi      
    84.              else {
    85.  
    86.                     for ( i = 0 ; i < n ; i++){
    87.                          if ( a[i] < 0 ){
    88.                             k = i; // gan chi so i cho k  roi ket thuc vong lap
    89.                              break;
    90.         }
    91.                  
    92.     }          
    93.                 //  cout<<"  k = " << k << endl;
    94.              
    95.                     for ( i = (n-1) ; i > 0 ; i--){
    96.                             if ( a[i]  <  0 ){
    97.                                     j = i; // gan chi so cua i cho j roi ket thuc vong lap
    98.                               break;
    99.       }
    100.      
    101.     }
    102.                 // tinh tong
    103.                     for ( i = k ; i < j ; i++){
    104.                             if (a[i] > 0 )
    105.                         tong  += a[i];
    106.        
    107.    }
    108.   }
    109.  
    110.              return tong;
    111. }
    Đã được chỉnh sửa lần cuối bởi xuyenit55 : 16-01-2011 lúc 02:06 PM.

  10. #30
    Ngày gia nhập
    01 2010
    Nơi ở
    до свидания!
    Bài viết
    1,766

    Trích dẫn Nguyên bản được gửi bởi birthis Xem bài viết
    Mình không biết hàm printf hoạt động như thế nào nên không thể giải thích cho bạn được. Nhưng mà mình có thể đưa ra ví dụ chứng minh là nó có thể gây lỗi:
    Xem hình này:
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Printf_Demonstrate_BC.JPG
Lần xem:	94
Size:		46.5 KB
ID:		4765
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Printf_Demonstrate_VS.JPG
Lần xem:	80
Size:		98.4 KB
ID:		4766
    Đó là 1 trường hợp, trường hợp khác là chương trình bị crash.


    Mình chỉ tìm lỗi, không sửa lỗi. Cái này mình nghĩ là nó bị sai ở phần dấu ngoặc trên cơ sở là đoán ý của bạn. Nhưng không đúng ý của bạn thì thôi, bạn xem lại đâu có mất gì đâu nào.
    PostScript: Mình không có ý đả kích bạn đâu nha. Mình chỉ góp ý thôi mà. Nếu bạn không cần thì thôi vậy.
    Gửi Kiti: Cơ chế hàm printf và scanf rất phức tạp, bạn nên làm đúng nguyên tắc lập trình khi thao tác trên các hàm này; việc làm của bạn hoàn toàn không đúng. Với những chương trình đòi hỏi chạy liên tục thì một thao tác không chuẩn do lập trình viên gây ra sẽ gây lỗi trầm trọng, crash hệ thống, lỗi memory,... Tốt nhất các bạn nên làm đúng nguyên tắc lập trình trên ngôn ngữ hiện có!

Các đề tài tương tự

  1. Tuyển nhân viên giao dịch tại tp. HCM
    Gửi bởi GBkhuyenvu2012 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 21-05-2013, 10:46 AM
  2. Tuyển tập đề thi tin học các trường đại học trên toàn quốc + Lời giải
    Gửi bởi mp121209 trong diễn đàn Tài liệu, ebooks và công cụ
    Trả lời: 12
    Bài viết cuối: 22-03-2012, 10:57 PM
  3. BCGControlBar Bộ Công Cụ Hỗ Trợ Tạo Giao Diện MFC Tuyệt đẹp
    Gửi bởi MartSoft trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 0
    Bài viết cuối: 17-09-2009, 08:47 AM

Tags của đề tài này

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn