首页 > 技术文章 > 作业(十一)

wgy774553994 2016-12-13 21:01 原文

1.

实验要求:

输入一个字符串,统计大写字母,小写字母,空格,数字和其它字符的数量

实验代码:

#include <stdio.h>
#include <string.h>
#define n 100
int main()
{
    int a=0,b=0,c=0,d=0,e=0,i=0;
    char sum[n];
    gets(sum);
    while(sum[i]!='\0')
    {
        if(sum[i]>='a'&&sum[i]<='z')
        {
            a++;
        }
        else if(sum[i]>='A'&&sum[i]<='Z')
        {
            b++;
        }
        else if(sum[i]==' ')
        {
            c++;
        }
        else if(sum[i]>='0'&&sum[i]<='9')
        {
            d++;
        }
        else
        {
            e++;
        }
        i++;
    }
    printf("小写字母字符数目是%d.\n",a); 
    printf("大写字母字符数目是%d.\n",b); 
    printf("空格字符数目是%d.\n",c); 
    printf("数字字符数目是%d.\n",d);
    printf("其他字符数目是%d.\n",e);
    return 0;
} 

 

实验截图:

 

2

实验要求:

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

实验代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h> 
int main()
{    
    char sum1[10],sum2[10];
    int i=0;
    printf("请设置您的密码(密码在十位数以内):\n");
    gets(sum1);
    if(sum1[10]!=0) 
    {
        printf("您设置的密码有错。\n"); 
        exit(0);
    }
    printf("请输入您的密码:\n");
    for(i=1;i<=3;i++)
    {  
        gets(sum2);
        if(strcmp(sum1,sum2)==0)
        {
            printf("恭喜您,登陆成功。\n"); 
            break;
        }
        else
        {
            if(i<=2)
            {
            printf("您的密码有错。请重新输入。这是您第%d次机会,一共3次。\n",i); 
            }
            else
            {
                break;
            }
        }
     }
     if(i==3)
    {
        printf("对不起,您登陆失败。\n");
    }
    return 0;
}

 

实验截图:

 

3.

实验要求:

编写一个函数,判断一个字符串是否是回文,若是回文函数返回值为1;否则返回值为0;在函数中调用对输入的字符串进行判断。

实验代码:

#include <stdio.h>
#include <string.h>
#define n 100
int compare(char sum[]);
int main()
{
    int x;
    char sum[n]; 
    printf("请输入您所验证的字符串:\n");
    gets(sum);
    x=compare(sum);
    if(x==0)
    printf("此字符串不是回文数.\n");
    if(x==1)
    printf("此字符串是回文数.\n");
    return 0;
}
int compare(char sum[])
{
    int i=0,j=0,x=1;
    for(i=0;sum[i]!='\0';i++)
    {
        j++;
    }
    j=j-1;
    for(i=0;i<=j;i++,j--)
    {
        if(sum[i]!=sum[j])
        {
            x=0;
            break;
        }
        else
        {
            x=1;
        }
    }
    return x;
}

 

实验截图:

 

 

 

知识点总结:

1.学习了字符串的表达和存储。

2.学习了若是字符串太长,如何换行输入。

3.学习了如何表示字符串变量与字符数组。

4.学习了一种字符串的输入与输出。

5.学习了如何清理缓冲区。

6.学习了利用字符串处理函数

实验总结:

1.scanf与gets之间的不同点。

2.考虑实验的合法性认证。

3.等于号为两个‘=’,赋值是一个‘=’的问题。

4.理由循环解决字符串问题时要注意赋初值。

5.适当位置跳出循环或直接退出。

 

1.原本认为c语言是一门很难学的科目,认为他会和我的英语一样让人不思甚解。但是自从接触到了c语言以后,发现其实这门科目还是很有意思,是计算机编程独有的一种语言。是以后接触计算机的基础。

2.上课跟着老师思路走,下课多打些代码锻炼一下自己即可,有课余时间可以做一些作业以外的代码。而在实验代码的过程中,首先不要忘记c语言的“;”的最基本常识。其次输入时,注意字符的大小写,相等时“==”,ASCll值得输入,函数的int与void的区别等等需要我们的注意,而且最好开始要进行实验的合法性判断。

3.帮助之处:可以监督我们按时码代码。再额外加分的情况下可以调动同学们的积极性。有错误的地方也可以及时修改,不懂的地方也可以及时和老师询问,得到解答。

 改进之处:咱没有发现问题。

   是否推荐:推荐,理由很简单,比平常写代码节省写在纸上的时间,利用网络即可以用新颖的方式。还可以减少了老师判阅的时间。

4.意见:可以多出一些课外题给有能力的同学做。

推荐阅读