首页 > 代码库 > 第十一次作业

第十一次作业

1.输入一个字符串,统计大写字母、小写字母、空格、数字和其他字符的个数。(要求用字符数组)

#include <stdio.h>
int main()
{
    int d=0,x=0,k=0,s=0,q=0,i;
    char tj[100];
    printf("请输入字符!!\n");
    gets(tj);
    for(i=0;i<strlen(tj);i++)
    {
        if(tj[i]>=a&&tj[i]<=z)
        {
            x++;
        }
        else if(tj[i]>=A&&tj[i]<=Z)
        {
            d++;
        }
        else if(tj[i]>=0&&tj[i]<=9)
        {
            s++;
        }
        else if(tj[i]== )
        {
            k++;
        }
        else
        {
            q++;
        }
    }
    printf("小写字母有%d\n大写字母有%d\n数字有%d\n空格有%d\n其他的字符有%d\n总共有%d\n",x,d,s,k,q,i);
    return 0;
}

技术分享

2.利用字符数组进行密码的验证,如果密码正确则登陆成功,否则登录失败。密码允许输入三次。

#include <stdio.h>
#include <string.h>
int main()
{
    int i=0;
    char a[]="1998080",input[8];
    printf("请输入密码\n");
    scanf("%7s",input);
    while(1)
    {
        if(strcmp(a,input)==0)
        {
            printf("欢迎您!!\n");
            break;
        }
        else
        {
            printf("输入错误!\n");
            i++;
            if(i/3==1)
            {
                printf("您已没有输入密码的机会了!!!\n");
                break;
            }
        }
        scanf("%7s",input);
    }
    return 0;
}

技术分享

技术分享

3.编写一个函数,判断一个字符串是否是回文。若是回文函数返回值为1;否则返回值为0。回文是顺读和倒读都一样。如“level”“abba”等是回文,但“abcd”不是回文。在主函数中调用回文函数对输入的字符串进行判断。

#include <stdio.h>
#include <string.h>
int main()
{
    int i,x,m=1,n=1,h;
    char hw[100];
    printf("请输入字符\n");
    gets(hw);
    x=strlen(hw);
    for(i=0;i<strlen(hw);i++)
    {
        if(hw[x-i-1]==hw[i])
        {
            m=-1;
        }
        else
        {
            n=0;
        }
    }
    h=m*n;
    if(h==-1)
    {
        printf("这个是回文数!!\n");
    }
    else
    {
        printf("这个不是回文数!!\n");
    } 
    return 0;
}

技术分享

技术分享

实验总结

1,char形变量赋值时如果是符号要带单引号

2,每个字符串系统都自动以"\0"结尾,所以字符长度要多一位

课程体会

1,怎么也写了1000行往上吧!?对c语言的认识是没想象中的那么简单

2,写c语言要思维开阔,要有创意

3,没什么看法,帮助是可以看看别人的思路,程序,以供自己借鉴。不用改进了,挺好的,推荐给学弟学妹

4,没有建议和意见都挺尽心尽力的

第十一次作业