Lập trình C: Đề 11


Đăng ký nhận thông báo về những video mới nhất

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();
}


Nếu bạn có điều thắc mắc, bạn hãy comment cho V1Study để được giải đáp.
Bài viết này được chia sẻ bởi LongDT. Nếu bạn muốn chia sẻ bài viết, bạn hãy Đăng ký làm thành viên!
« Prev
Next »
Copied !!!