实验十一

一、实验内容      

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

#include<stdio.h>
#include<string.h>
#define N 20
int main()
{
    char str[N+1];
    int i=0,j=0,k=0,m=0,n=0,z,a;
    printf("请输入一个字符串");
    gets(str);
    a=strlen(str);
    for(z=0;z<a;z++)
    {
        if(str[z]>'A'&&str[z]<'Z')
        {
            i++;
        }
        else if(str[z]>'a'&&str[z]<'z')
        {
            j++;
        }
        else if(str[z]==' ')
        {
            k++;
        }
        else if(str[z]>'0'&&str[z]<'9')
        {
            m++;
        }
        else
        {
            n++;
        }
    }
    printf("大写字母有%d个,小写字母有%d个,空格有%d个,数字有%d个,其他有%d个
",i,j,k,m,n);
    return 0;
}

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

#include<stdio.h>
#include<string.h>
#define N 10
int main()
{
    char str[]={"secret"},str1[N+1];
    int i;
    for(i=1;i<4;i++)
    {
        printf("请输入密码");
        scanf("%7s",str1);
        if(strcmp(str,str1)==0)
        {
            printf("密码正确,登陆成功
");
            break;
        }
        else
        {
            printf("密码错误,登录失败
");
        }
    }
    return 0;
}

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

#include<stdio.h>
#include<string.h>
#define N 80
int huwen(char str[N+1]);
int main()
{
    char str[N+1];
    int a;
    printf("请输入一个字符串
");
    gets(str);
    a=huwen(str);
    if(a==0)
    {
        printf("这个字符串不回文");
    }
    else
    {
        printf("这个字符串回文");
    }
    return 0;
}
int huwen(char str[N+1])
{
    int i,j,num;
    num=strlen(str);
    for(i=0,j=num-1;i<j;i++,j--)
    {
        if(str[i]==str[j])
        {
            continue;
        }
        else 
        {
            return 0;
        }
    }
    return 1;
}

 二、实验总结

1、字符型数据要加单引号

2、数组开始要定义大小

3、在回文数程序中:(1)自定义函数中不用定义数组的长度数sum(2)在自定义函数中continue那不能用return代替,否则只能执行第一个与最后一个相等不能循环

    (3)在自定义函数中要只用一个循环,可以将两个变量写在一起(4)注意数组的长度是从一开始的,数组下标是从零开始的,在倒数时注意应该减一

三、课程体会

1、经过这一个学期的学习我对C语言有了进一步的认识,开始只是对编程有一个大概的了解,不知道该怎样写代码,只是知道有哪些有语言而已。在这一个学期中写了许多次代码,一次又一次的修改,使我填补了自己的知识漏洞。

2、在学习C语言时我认为大家要学会用自己方式理解与分析知识点,学会做笔记。只是听老师讲是不够的,学生要学会用自己的思维来理解课堂上的知识点。在写代码时可以尝试使用多种途径。多做练习。

3、我认为采用博客方式交作业的方式很好,老师有充足的时间看每一个学生写的代码,提出不足,让学生改正。可以实现课下的充分交流。在我的学习过程中这种方式给我提供很大的交流平台。

4、助教可以再多一些减轻学长的负担。

原文地址:https://www.cnblogs.com/lr97/p/6171946.html