Lập trình C: Đề 11

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
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();
}

» Tiếp: Đề 12
« Trước: Đề 10
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!