Posted in C

Giải đề thi số 4 môn C

//cau2
/*
#include<conio.h>
#include<stdio.h>
#include<string.h>

char input(char a[]);
void cntch(char a[],char ch);
void fcut(char a[]);

void main()
{
   char a[100],ch;
   clrscr();
   ch=input(a);
   cntch(a,ch);
   fcut(a);
   getch();

}
char input(char a[])
{
   char ch;
   printf("\nInput s string:");
   fflush(stdin);
   gets(a);
   printf("\nInput a character: ");
   fflush(stdin);
   ch=getchar();
   return ch;
}
void cntch(char a[],char ch)
{
   int i,count=0;
   for(i=0;i<strlen(a);i++)
      if(a[i]==ch) count++;
   printf("\nNumber of %c is: %d\n",ch,count);
}
void fcut(char a[])
{
   int i,j,test=1;
   for(;a[0]==' ';)
      {
      for(i=0;i<strlen(a);i++)
         a[i]=a[i+1];
      test=0;
                if(a[0]!=' ') break;
      }
   if(test)
      printf("\nNo space character at the first of strings\n");
   else
      {
      printf("\nString after trim:");
      printf("[%s]=%d",a);
      }
}
*/
//cau3
/*
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

void input(int *n, int a[]);
void show(int n, int a[]);
int find(int n, int a[]);
void sumodd(int n, int a[]);
int divisor(int n, int a[]);
void menu(void);
int uscln(int a,int b);
void main()
{
   int i,n,test,a[100];
   char choice;
   clrscr();
   do
   {
      clrscr();
      menu();
      fflush(stdin);
      scanf("%c",&choice);
      switch(choice)
      {
      case '1': input(&n,a);getch();break;
      case '2': show(n,a);
         printf("\nlargest even number negative: %d",find(n,a));
         getch();break;
      case '3': show(n,a); sumodd(n,a);getch();break;
      case '4':show(n,a);
         for(i=0;i<n;i++)
         printf("\ta[%d]= %d",i,a[i]);
         printf("\nGreatest common divisor : %d",divisor(n,a));
         getch();break;
      case '5': exit(0);
      default : printf("\nInvalib. re-enter! ");
      }
   } while(choice!='5');
}

void menu(void)
{
printf("\n1. Input N and array of integer");
printf("\n2. Find the largest even negative number value");
printf("\n3. Calculate total of the odd numbers");
printf("\n4. Calculate greatest common divisor of all array number");
printf("\n5. Exit");
printf("\n  Pleases enter your choice!: ");
}

void input(int *n, int a[])
{
   int i;
   do
   {
   printf("N= ");
   scanf("%d",n);
   } while(*n<=0||*n>=100);
   for(i=0;i<*n;i++)
   {
      printf("a[%d]=",i);
      scanf("%d",&a[i]);
   }
}

void show(int n, int a[])
{
   int i;
   printf("\nThe array inputted:\n");
   for(i=0;i<n;i++)
   printf("%4d",a[i]);
   printf("\n");
}

int find(int n, int a[])
{
   int i,j,am=0;
   for(i=0;i<n;i++)
   {
      if( (a[i]%2==0) && a[i]<0 )
      {
      am=a[i];
      break;
      }
   }
   for(j=i+1;j<n;j++)
   {
      if( (a[j]%2==0) && a[j]<0 )
         am=am>a[j] ? am:a[j];
   }
   return am;
}

void sumodd(int n, int a[])
{
   int i,sum=0;
   for(i=0;i<n;i++)
   {
      if(a[i]%2!=0) sum+=a[i];
   }
   printf("\nTotal of all the odd number in the array is :%d",sum);
}

int divisor(int n, int a[])
{
   int i,j,cnt,min,u[100];
   min=a[0];
   for(i=1;i<n;i++)
      if(abs(a[i])>abs(min)) min=a[i];
   cnt=0;
   for(i=1;i<=abs(min);i++)
      if(min%i==0)   u[cnt++]=i;
   for(j=cnt-1;j>=0;j--)
      {
      for(i=0;i<n;i++)
         if(a[i]%u[j]!=0) break;
      if(i==n) return u[j];
      }
   return 1;
}
*/

Tác giả:

Thích thì chiều sao phải xoắn :))

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s