HN - Aptech


 
IndexIndex  PortalPortal  CalendarCalendar  GalleryGallery  Trợ giúpTrợ giúp  Tìm kiếmTìm kiếm  Thành viênThành viên  NhómNhóm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share | 
 

 code:08/day du!/code nay kha hay, cac ban tham khao!!

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
nbp2983
Gà con
Gà con


Tổng số bài gửi : 23
Join date : 18/06/2009

Bài gửiTiêu đề: code:08/day du!/code nay kha hay, cac ban tham khao!!   Sat Jun 20, 2009 4:54 pm

Code:

//question1:
//khai bao cac ham con
int kt(int n);
float dt(float a, float b);
int tong(int n , int m);
void minmax(int n, int a[], int *max, int *min);

//question2:
 #include <stdio.h>
 #include <conio.h>
 #include <stdlib.h>
 //khai bao cac ham con
 void nhap(int *n);
 void hien(int n);
 //dinh nghia ham main
 void main()
 {
   int n;
   clrscr();
   nhap(&n);
   hien(n);
   getch();
 }
 //dinh nghia ham con
 void nhap(int *n)
 {
   printf("\nnhap n=");
   scanf("%d",n);
   if(*n==0) exit(0);
   else
   {
      while(*n<1||*n>25||*n%2==0)
      {
         printf("\nnhap lai so le n(1->25)=");
         scanf("%d",n);
      }
   }
   printf("\nso da nhap n= %d\n",*n);
 }
 void hien(int n)
 {
   int i,j;
   char s[25];
   printf("ma tran * la:");
   for(i=0;i<n;i++)
      s[i]='*';
   for(i=0;i<n/2;i++)
   {
      printf("\n");
      for(j=0;j<i;j++)
         printf(" ");
      for(j=i;j<n-i;j++)
         printf("%c",s[j]);
   }
      for(i=n/2;i>=0;i--)
   {
      printf("\n");
      for(j=0;j<i;j++)
         printf(" ");
      for(j=i;j<n-i;j++)
         printf("%c",s[j]);
   }
 } 
 //cach sau ko dung chuoi!
/*  void hien(int n)
 {
   int i,j;
   printf("ma tran * la:\n");
   for(i=0;i<n/2;i++)
   {
      printf("\n");
      for(j=0;j<i;j++)
         printf(" ");
      for(j=i;j<n-i;j++)
         printf("*");
   }
   for(i=n/2;i>=0;i--)
   {
      printf("\n");
      for(j=0;j<i;j++)
         printf(" ");
      for(j=i;j<n-i;j++)
         printf("*");
   }
 } */

//question3:
 #include <stdio.h>
 #include <conio.h>
 #include <stdlib.h>
 #include <string.h>
 //khai bao cac ham con
 void menu(void);
 void nhap(int *n);
 void hien(int n, int a[]);
 int tong(int n, int a[]);
 int kt(int n);

 //dinh nghia ham main
 void main()
 {
   int n,a[20];
   char chon;
   clrscr();
   do
   {
      menu();
      printf("\nNHAP LUA CHON: ");
      fflush(stdin);
      chon=getchar();
      switch(chon)
      {
         case '1':
            nhap(&n);
            break;
         case '2':
            hien(n,a);
            break;
         case '3':
            printf("\ntong cac hang chan= %d",tong(n,a));
            break;
         case '4':
               if(kt(n)==1)
               printf("\nso %d la hoan hao",n);
               else
               printf("\nso %d khong hoan hao",n);

               break;
         case '5':
            exit(0);
         default:
            printf("\nLUA CHON SAI, THUC HIEN LAI:");
            break;
      }
   }while(chon!='5');


   getch();
 }
 //dinh nghia ham con
 void menu(void)
 {
   printf("\nMENU:");
   printf("\n1. nhap so chan n(1->20)");
   printf("\n2. hien thi");
   printf("\n3. tinh tong");
   printf("\n4. kien tra hoan hao");
   printf("\n5. thoat.");
 }
 void nhap(int *n)
 {
   printf("\nnhap n= ");
   scanf("%d",n);

      while(*n<1||*n>20||*n%2!=0)
      {
         printf("\nnhap lai n= ");
         scanf("%d",n);

      }


 }
 void hien(int n, int a[])
 {
   int i;
   for(i=0;i<n;i++)
      a[i]=i+1;
   for(i=0;i<n/2;i++)
   {
      printf("\n");
      printf("%d",a[i]);
      printf("\t");
      printf("%d",a[n/2+i]);
   }


 }
int tong(int n, int a[])
{
   int i,s=0;
   for(i=0;i<n/2;i++)
      if((i+1)%2==0)
         s+=(a[i]+a[n/2+i]);
   return s;
}
int kt(int n)
{
   int i,d=0,k=0;
   for(i=1;i<n;i++)
      if(n%i==0)
         d+=i;
   if(d==n)
      k=1;
   return k;
}
Về Đầu Trang Go down
Xem lý lịch thành viên
haph86
Gà mới lớn
Gà mới lớn


Tổng số bài gửi : 40
Join date : 04/06/2009

Bài gửiTiêu đề: Re: code:08/day du!/code nay kha hay, cac ban tham khao!!   Sun Jun 21, 2009 7:15 pm

anh up them ca yeu cau de bai nua cho moi nguoi tien tham khao nhe Wink Khong phai luc nao em cung mang de` bai theo Very Happy
Về Đầu Trang Go down
Xem lý lịch thành viên
spyware
Đại Bàng Tinh
Đại Bàng  Tinh


Tổng số bài gửi : 116
Join date : 04/06/2009
Age : 32
Đến từ : HN

Bài gửiTiêu đề: Re: code:08/day du!/code nay kha hay, cac ban tham khao!!   Sun Jun 28, 2009 4:59 pm

- thuật toán câu 2 thì chuẩn rùi nhưng cách dùng mảng hay không thì cũng chẳng có gì khác nhau cả.
print s[i] và print '*' không khác gì nhau khi tất cả các si[i] = '*'. Razz
- thử lột code này xem thế nào, cũng là một cách in ma trận * nhưng thuật toán có hơi khác chút
Code:

void display(int n)
{
   int i,j,t;
   char ch='*',s=' ';
   for(i=n/2;i>=0;i--)
   {
   t=n/2-i+1;
   printf("%*c",t,s);
      for(j=0;j<2*i+1;j++)
      printf("%c",ch);
   printf("\n");
   }

   for(i=1;i<=n/2;i++)
   {
   t=n/2-i+1;
   printf("%*c",t,s);
      for(j=0;j<2*i+1;j++)
      printf("%c",ch);
   printf("\n");
   }
   
}

_________________
::::Real Programmer :::::
Về Đầu Trang Go down
Xem lý lịch thành viên
spyware
Đại Bàng Tinh
Đại Bàng  Tinh


Tổng số bài gửi : 116
Join date : 04/06/2009
Age : 32
Đến từ : HN

Bài gửiTiêu đề: Re: code:08/day du!/code nay kha hay, cac ban tham khao!!   Mon Jun 29, 2009 1:05 am

- một cách giải hơi khác chút của Q3. anh em xem thế nào nhé
cố gắng đọc code người khác, chăm chỉ bới lông tìm vết. khi đó không chỉ giúp mình hiểu rõ hơn về thuật toán mà cũng là giúp bạn nữa đó. thanks

Code:

#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
// declare all function
void input(int *n);//n is even and 0<n<=20
void display(int n);
int sum(int n);
int per(int n);
void displaysum(int n);
void menu(void);
// define all function
void main()
{
int i,j,n;
char ch;
clrscr();
   
do
{
   clrscr();
   menu();
   scanf("%c",&ch);
   switch(ch)
   {
   case '1': input(&n);getch(); break;
   case '2': display(n);getch(); break;
   case '3': display(n);
        printf("\nTotal of all elements in even rows: %d",sum(n));   
        getch(); break;
   case '4': if(per(n)) printf("\n%d is perfect number.",n);
        else   printf("\n%d is not perfect number.",n);      
        getch(); break;
   case '5': exit(0);
   default : printf("\nInvalib! Re-enter! ");
   }
   
} while(ch!='5');
}
void menu(void)
{
   printf("\n1. Input N");
   printf("\n2. Display \"Double columns\"");
   printf("\n3. Calculate total of all elements of even in \"Double columns\"");
   printf("\n4. Check N is perfect number");
   printf("\n5. Exit");
   printf("\n  Enter your choice! ");
}
void input(int *n)//n is even and 0<n<=20
{
   printf("N= ");
   scanf("%d",n);
   while(*n<=0|| *n>20||*n%2!=0)
   {
      printf("\nRe enter N= ");
      scanf("%d",n);
   }
}
void display(int n)
{
   int i,i,aver;
   aver=n/2;
   for(i=1;i<=aver;i++)
   printf("%4d\t%4d",i,aver+1);
}
int sum(int n)
{
   int i,sum1,sum2,aver;
   aver=n/2;
   sum1=sum2=0;
   for(i=1;i<=aver;i++)
   if(i%2==0) sum1+=i;
   for(i=aver+1;i<=n;i++)
   if(i%2!=0) sum2+=i;
   return (sum1+sum2);
   
}
/*void displaysum(int n)
{
   int i;
   printf("\nEven rows:\n");

} */
int per(int n)
{
   int i; sum=0;
   if(n<2) return 0;
   for(i=1;i<=n/2;i++)
      if(n%i==0) sum+=i;
   if(sum==n) return 1;
   return 0;
}

_________________
::::Real Programmer :::::
Về Đầu Trang Go down
Xem lý lịch thành viên
Sponsored content




Bài gửiTiêu đề: Re: code:08/day du!/code nay kha hay, cac ban tham khao!!   Today at 11:21 pm

Về Đầu Trang Go down
 
code:08/day du!/code nay kha hay, cac ban tham khao!!
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Code Trove
» Part No: 1435000Z10001 Code: 88092764 Gemu Vietnam
» Hướng dẫn cách Refer Friend
» CODE Mount Insanisteed lấy nhanh kẻo hết
» bán thảm cũ,bán thảm trải sàn cũ,,giá tốt Thịnh

Permissions in this forum:Bạn không có quyền trả lời bài viết
HN - Aptech :: Khóa Học :: SEMESTER I :: C :: Bài Tập-
Chuyển đến