Lập trình C: Đề 20
Giải phóng thời gian, khai phóng năng lực
Câu 1:
1. void inan(char a[]);
2. int nhonhat(int N, int a[]);
3. void nhap(int *N);
4. void giaithua(int N);
Câu 2:
#include <stdio.h>
#include <conio.h>
#include <string.h>
void nhap(int *N, char a[][25])
{
int i;
do
{
printf("\nN = ");
scanf("%d",N);
}while(!(0<*N && *N<=10));
printf("\nNhap cac chuoi:");
for(i=0; i<*N; i++)
{
do
{
printf("\na[%d] = ",i);
fflush(stdin);
gets(a[i]);
}while(strlen(a[i])==0 || strlen(a[i])>24);
}
}
void hienthi(int N, char a[][25])
{
int i;
printf("\nCac chuoi vua nhap la:\n");
for(i=0; i<N; i++)
puts(a[i]);
}
void noichuoi(int N, char a[][25])
{
int i;
char *s;
for(i=0; i<N; i++)
{
strcat(s,a[i]);
strcat(s," ");
}
printf("\nSau khi noi, ta duoc chuoi: %s",s);
}
void main()
{
int N;
char a[10][25];
clrscr();
nhap(&N,a);
hienthi(N,a);
noichuoi(N,a);
getch();
}
Câu 3:
#include <stdio.h>
#include <conio.h>
#include <string.h>
void menu(void)
{
printf("\n1. Input N,M and N strings and M strings");
printf("\n2. Print N strings then printf M strings");
printf("\n3. Upper the last string and printt it");
printf("\n4. Find each string in M strings apear how many times in N strings");
printf("\n5. Exit");
}
void nhap(int *N, char a[][25], int *M, char b[][25])
{
int i;
do
{
printf("\nN = ");
scanf("%d",N);
}while(!(0<*N && *N<20));
printf("\nNhap %d chuoi:",*N);
for(i=0; i<*N; i++)
{
printf("\na[%d] = ",i);
fflush(stdin);
gets(a[i]);
}
do
{
printf("\nM = ");
scanf("%d",M);
fflush(stdin);
}while(!(0<*M && *M<20));
printf("\nNhap %d chuoi:",*M);
for(i=0; i<*M; i++)
{
printf("\nb[%d] = ",i);
fflush(stdin);
gets(b[i]);
}
}
void inan(int N, char a[][25], int M, char b[][25])
{
int i;
printf("\n%d chuoi la:",N);
for(i=0; i<N; i++)
printf("\na[%d] = %s",i,a[i]);
printf("\n%d chuoi la:",M);
for(i=0; i<M; i++)
printf("\nb[%d] = %s",i,b[i]);
}
void upper(int N, char a[][25])
{
int i;
char *p;
strcpy(p,a[N-1]);
for(i=0; i<strlen(p); i++)
if(p[i]>='a' && p[i]<='z')
p[i]-=32;
printf("\nSau khi chuyen doi, chuoi cuoi cung co dang: %s",p);
}
void xuathien(int N, char a[][25], int M, char b[][25])
{
int i,j,dem=0;
for(i=0; i<M; i++)
{
dem=0;
for(j=0; j<N; j++)
if(strstr(a[j],b[i]))
dem++;
printf("\nChuoi \"%s\" xuat hien %d lan trong nhung chuoi:",b[i],dem);
for(j=0; j<N; j++)
if(strstr(a[j],b[i]))
printf("\n%s",a[j]);
}
}
void main()
{
int chon,N,M;
char a[20][25], b[20][25];
clrscr();
while(1) {
menu();
printf("\nMoi ban chon mot muc: ");
scanf("%d",&chon);
switch(chon) {
case 1: nhap(&N,a,&M,b); break;
case 2: inan(N,a,M,b); break;
case 3: upper(N,a); break;
case 4: xuathien(N,a,M,b); break;
case 5: return;
}
}
getch();
}
Giải phóng thời gian, khai phóng năng lực