Posted in C

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

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

void inputn(int *n);
void inputa(int n, int a[]);
int odd(int n);
int sumodd(int n, int a[]);
void sort(int n, int a[]);

void main()
{
   int n,*p;
   clrscr();
   inputn(&n);
   p=(int*)malloc(n*2);
   if(p==NULL)
   {
      printf("Error! not enough memory");
      exit(0);
   }
   else
   {
   inputa(n,p);
   printf("Total of odd number is: %d",sumodd(n,p));
   sort(n,p);
   free(p);
   }
   getch();
}

void inputn(int *n)
{
   do
   {
   printf("N= ");
   scanf("%d",n);
   } while(*n<=0||*n>50);
}

void inputa(int n, int a[])
{
   int i;
   for(i=0;i<n;i++)
      {
         printf("a[%d]= ",i);
         scanf("%d",&a[i]);
      }
}

int odd(int n)
{
   if(n<0 || n%2==0) return 0;
   return 1;
}

int sumodd(int n, int a[])
{
   int i,sum=0;
   for(i=0;i<n;i++)
      if(odd(a[i])) sum+=a[i];
   return sum;
}

void sort(int n, int a[])
{
   int i,j,temp;
   for(i=0;i<n-1;i++)
      for(j=i+1;j<n;j++)
      if(a[j]>a[i])
         {
            temp=a[i];
            a[i]=a[j];
            a[j]=temp;
         }
   printf("\nArray after sorted:");
   for(i=0;i<n;i++)
      printf("%4d",a[i]);
}
*/

//cau 3
/*
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

void input(int *n, char (*p)[100]);
void display(int n, char (*p)[100]);
void fspec(int n, char (*p)[100]);
int fmins(int n, char (*p)[100],char res[][100]);
void findsub(int n, char (*p)[100]);
void menu(void);

void main()
{
   int i,n,choice,cnt;
   char s[100][100],res[100][100];
   clrscr();
   do
   {
      clrscr();
      menu();
      printf("\n  Pleases enter your choice! : ");
      scanf("%d",&choice);
      switch(choice)
      {
      case 1 : input(&n,s); getch(); break;
      case 2 : display(n,s); getch(); break;
      case 3 : fspec(n,s); getch(); break;
      case 4 : {
           cnt=fmins(n,s,res);
           for(i=0;i<cnt;i++)   puts(res[i]);
           getch();break;
          }

      case 5 : findsub(n,s); getch(); break;
      case 6 : exit(0);
      }
   } while(choice!=6);
}

void menu(void)
{
printf("\n1. Input N and array of strings");
printf("\n2. Print all elements");
printf("\n3. Find and print all strings that has specific length");
printf("\n4. Find and print all strings that has minimum length");
printf("\n5. Find and print all strings that contains a substring");
printf("\n6. Exit");
}

void input(int *n, char (*p)[100])
{
   int i;
   do
   {
   printf("N= ");
   scanf("%d",n);
   } while(*n<=0 ||*n>=100);
   for(i=0;i<*n;i++)
   {
      printf("String %d :",i);
      fflush(stdin);
      gets(p[i]);
   }
}

void display(int n, char (*p)[100])
{
   int i;
   for(i=0;i<n;i++)
      puts(p[i]);
}

void fspec(int n, char (*p)[100])
{
   int i,len,cnt=0;
   printf("\nInput specific length: ");
   scanf("%d",&len);
   for(i=0;i<n;i++)
      if(strlen(p[i])==len) cnt++;
   if(cnt==0)
      printf("\nThere is no strings that has length equal %d\n",len);
   else
      {
      printf("\nString(s) that has length equal %d:\n",len);
      for(i=0;i<n;i++)
         if(strlen(p[i])==len)   puts(p[i]);
      }
}

int fmins(int n, char (*p)[100],char res[][100])
{
   int i,j,min,cnt=0;
   min=strlen(p[0]);
   for(i=1;i<n;i++)
      {
      min=min < strlen(p[i])?min:strlen(p[i]);
      break;
      }
   for(i=0;i<n;i++)
      if(min==strlen(p[i]))
      {
      strcpy(res[cnt++],p[i]);
      }
   return cnt;
}

void findsub(int n, char (*p)[100])
{
   int i,cnt=0;
   char s[100],*ptr;
   printf("\nPlease enter specific substring:");
   fflush(stdin);
   gets(s);
   for(i=0;i<n;i++)
         {
      ptr=strstr(p[i],s);
      if(ptr!=NULL)
         {
         cnt=1;
         break;
         }
         }
   if(cnt) printf("\nStrings that is found:\n");
   else   printf("\nThere is no strings is found");
   for(i=0;i<n;i++)
   {
      ptr=strstr(p[i],s);
      if(ptr!=NULL)   puts(p[i]);
   }
}
*/

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