Lập trình C: Đề 11
Giải phóng thời gian, khai phóng năng lực
Câu 1:
1. void Nhap_hienthi(int N, int a[][99]);
2. void Count_kytu(char a[]);
3. int Size(int a);
4. void Nhap_kt(int year);
Câu 2:
#include <stdio.h>
#include <conio.h>
#include <string.h>
void Nhap(char a[])
{
do
{
printf("\nNhap vao mot chuoi: ");
fflush(stdin);
gets(a);
}while(strlen(a)==0);
}
void Check_num(char a[])
{
int demtu=0, i;
for(i=0; i<strlen(a)-1; i++)
if(a[i]==' ' && a[i+1]!=' ')
demtu++;
if(a[0]!=' ')
demtu++;
if(demtu<2 || demtu>4)
printf("\nSo tu sai");
else
printf("\nSo tu dung");
}
void Check_space(char a[])
{
int i, flag=0;
if(a[0]==' ' || a[strlen(a)-1]==' ')
printf("\nSo dau cach sai");
else
{
for(i=0; i<strlen(a)-2; i++)
if(a[i]==' ' && a[i+1]==' ')
{
flag=1;
break;
}
if(flag==0)
printf("\nSo dau cach dung");
else
printf("\nSo dau cach sai");
}
}
void Check_word(char a[])
{
int i, j, k, flag=0;
//Cach 1:
int sotu=0, sokt=0;
for(i=0; i<strlen(a)-1; i++) // Vong lap dem so tu
if(a[i]==' ' && a[i+1]!=' ')
sotu++;
if(a[0]!=' ')
sotu++;
for(i=0; i<strlen(a); i++) // Vong lap dem so ky tu in hoa
if(a[i]>='A' && a[i]<='Z')
sokt++;
if(sotu!=sokt) // Neu so tu khong bang so ky tu in hoa
printf("\nCac tu cua chuoi sai dinh dang"); // thi sai dinh dang tu
else // Neu khong thi
{
for(i=0; i<strlen(a); i++) // kiem tra xem cac ky tu dau moi tu co phai la in hoa hay khong
if(a[i]==' ' && a[i+1]!=' ' && (a[i+1]<'A' || a[i+1]>'Z'))
{
flag=1;
break;
}
if(flag==1)
printf("\nCac tu cua chuoi sai dinh dang");
else
printf("\nCac tu cua chuoi dung dinh dang");
}
// Cach 2:
/*
for(i=0; i<strlen(a)-1; i++)
{
if(a[i]==' ' && a[i+1]!=' ')
{
if(i+1==strlen(a)-1)
{
if(a[i+1]<'A' || a[i+1]>'Z')
flag=1;
break;
}
else
{
for(j=i+2; j<strlen(a); j++)
if(a[j]==' ')
{
k=j-1;
break;
}
for(j=i+2; j<=k; j++)
if(a[j]>='A' && a[j]<='Z')
{
flag=1;
break;
}
}
}
}
if(a[0]!=' ')
{
if(a[0]<'A' || a[0]>'Z')
flag=1;
else
{
for(i=1; i<strlen(a); i++)
if(a[i]==' ')
break;
for(j=1; j<=i-1; j++)
if(a[i]>='A' && a[j]<='Z')
{
flag=1;
break;
}
}
}
if(flag==0)
printf("\nCac tu cua chuoi dung dinh dang");
else
printf("\nCac tu cua chuoi khong dung dinh dang");
*/
}
void main()
{
char a[50];
clrscr();
Nhap(a);
Check_num(a);
Check_space(a);
Check_word(a);
getch();
}
Câu 3:
#include <stdio.h>
#include <conio.h>
void menu(void)
{
printf("\n1. Nhap lieu");
printf("\n2. Tinh trung binh cong");
printf("\n3. Tinh trung binh cong cac phan tu chia het cho 3");
printf("\n4. Xoa phan tu chia het cho 3 va hien thi");
printf("\n5. Thoat");
}
void Nhap(int *N, int a[])
{
int i;
do
{
printf("\nN = ");
scanf("%d",N);
}while(*N<=0 || *N>=100);
printf("\nNhap cac phan tu cho mang:");
for(i=0; i<*N; i++)
{
printf("\na[%d]: ",i);
scanf("%d",&a[i]);
}
}
float Average(int N, int a[])
{
int i;
float ave=0;
for(i=0; i<N; i++)
ave+=a[i];
return ave/N;
}
float Ave3(int N, int a[])
{
int i,d=0;
float ave3=0;
for(i=0; i<N; i++)
if(a[i]%3==0)
{
ave3+=a[i];
d++;
}
return ave3/d;
}
void Remove(int N, int a[])
{
int i,j=0;
int *tg;
for(i=0; i<N; i++)
if(a[i]%3!=0)
{
tg[j]=a[i];
j++;
}
printf("\nMang moi sau khi da bo di nhung phan tu chia het cho 3 gom:");
for(i=0; i<j; i++)
{
a[i]=tg[i];
printf("\n%d",a[i]);
}
}
void main()
{
int N, a[99], chon, flag=0;
clrscr();
menu();
while(1)
{
printf("\nMoi ban chon mot muc: ");
scanf("%d",&chon);
if(chon!=1 && chon !=5 && flag==0)
{
printf("\nBan phai chon muc 1 truoc tien");
continue;
}
flag=1;
switch(chon)
{
case 1:
Nhap(&N,a);
break;
case 2:
printf("\nTrung binh cong cua cac phan tu la: %f",Average(N,a));
break;
case 3:
printf("\nTrung binh cong cua cac phan tu chia het cho 3 la: %f",Ave3(N,a));
break;
case 4:
Remove(N,a);
break;
case 5: return;
}
}
getch();
}
Giải phóng thời gian, khai phóng năng lực