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

第十一次作业

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

#include<stdio.h>
#define N 100
int main()
{
    char zf[N];
    int i,d=0,x=0,s=0,k=0,q=0;
    printf("输入一个字符串");
    gets(zf);
    for(i=0;i<N;i++)
    {
        if(zf[i]==\0)
            break;
        if(zf[i]>=A&&zf[i]<=Z)
        {d++;continue;}
        if(zf[i]>=a&&zf[i]<=z)
        {x++;continue;}
        if(zf[i]>=0&&zf[i]<=9)
        {s++;continue;}
        if(zf[i]== )
        {k++;continue;}
        else
        {q++;continue;}
    

    }
    printf("大写字母有%d个,小写字母有%d个,数字有%d个,空格有%d个,其它有%d个",d,x,s,k,q);
    return 0;
    
}

 

 

技术分享

 

 

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

#include<stdio.h>
#include<string.h>
int main()
{
    char password[]="secret",input[8];
    int i;
    for(i=0;i<3;i++)
    {
        printf("请输入密码\n");
        scanf("%7s",input);
        if(strcmp(password,input)==0)
        {
            printf("输入正确!");
            break;
        }
        else
        {
        printf("输入错误!\n");
        }
        if(i==2)
        printf("登陆失败");
    }
   
        return 0;
}

技术分享

 

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

#include<stdio.h>
#define N 100
#include<string.h>
int asd(char zf[N],int x);
int main()
{
    char zf[N];
    int i,x,y;
    printf("输入一个字符串");
    gets(zf);
    x=strlen(zf);
    y=asd(zf,x);
    if(y==0)
    printf("不是回文数");
    if(y==1)
    printf("是回文数"); 
    return 0;
}
int asd(char zf[N],int x)
{
    int i,j;
    x+=1;
    j=x/2;
    for(i=0;i<j;i++,x--)
    {
        if(zf[i]!=zf[x-2])
        {
            return 0;
        }
    }
    return 1;
}

 

技术分享

 实验总结:1.gets可以输入带空格的字符串,scanf不能,字符串不用&

      2.字符串的结束标志是‘\0‘;

      3.求字符串长度用函数strlen(str)

课程体会:时间过的飞快,转眼到了期末了,经过一学期的学习,从开始不懂什么是c语言,到现在学会了一些基本简单的编程,算上所有写过的代码大概也写了两三千行了吧,据我现在认识c语言和高中学的数学有一点联系,尤其是循环那,就像一个机器 ,按照写的代码 一步一步的向下执行,说经验也谈不上,就是多写多尝试,敢于尝试你肯定能收获到你想不到的地方,写之前可以先一个内容一个内容的写,这样方便检验,哪错了也好找出来,在需要什么再向里边加,比如写那次自动出题器的时候,可以先利用随机数写出一次题的,在写利用循环出题,之后再加上算正确率之类的; 我觉的利用技术博客的教学方法挺高大上的,因为代码写在纸上也不合适,上课交也浪费时间,这种方法就很好 ,还可以把之前写过的代码保留下来,下一届学弟学妹们我建议仍采用这种方法,老师和助教的工作也非常负责,对我们的帮助也很大,最后想对老师和助教说,你们辛苦啦。感谢!

第十一次作业