作业十一

 第一题:

#include<stdio.h>
#define n 100
int main()
{
    char a[n];
    int i,a1=0,b=0,c=0,d=0;
    printf("输入字符串:\n");
    gets(a);
    for(i=0;a[i]!='\0';i++)
    {
        if(a[i]>='A'&&a[i]<='Z')
        {
        a1++;
        }
        else if(a[i]>='a'&&a[i]<='z')
        {
        b++;
        }
        else if(a[i]>='0'&&a[i]<='9')
        {
        c++;
        }
        else 
        {
        d++;
        }
    }
    printf("大写字母有%d个,小写字母有%d个,数字有%d个,其他符号有%d个.\n",a1,b,c,d);
    return 0;
}

第二题:

#include<stdio.h>
#include<string.h>
#define n 100
int main()
{
    char a[n],b[n];
    int i,c,d=3; 
    printf("设置一个密码\n");
    gets(a);
    printf("输入密码,你有三次机会验证。\n");
    
    do
    {
    
    gets(b);
    if(strcmp(a,b)==0)
        {
            printf("密码正确\n");
            break;
        }
        else if(d!=1)
        {
            printf("密码错误,剩余%d次。\n",d-1);
            d--;
        }
        else
        {
            printf("密码错误,没有机会了。\n");
            break;
        }
    }while(d!=0);
return 0;
 } 

第三题:

#include<stdio.h>
#define n 100
int bijiao(char a[]);
int main()
{    
    int i,j;
    char a[n];
    printf("输入一个英文字符串\n");
    gets(a);
    if(bijiao(a))
    {
        printf("是回文数\n");
    }
    else
    {
        printf("不是回文数\n");
    } 
    
}
int bijiao(char a[])
{
    int j=-1,i;
    for(i=0;a[i]!='\0';i++)
    {
        j++;
    }
    for(i=0;i<j;i++,j--)
    {
        if(a[i]!=a[j])
        {
            return 0;
        }
    }
    return 1;
}

实验总结:

1:判断数组循环时要带上数组名 例如:a[i]。

2:可以使用特定的函数进行数组间的运算,省时又方便。

3:字符串的scanf不用加“&”,前边要用%s。

4:合理使用gets和puts。

 课程体会:

1:这个真的数不清了,反正很多很多,感觉非常有成就感。学习之前只听说过代码这个名字,并且知道是一行行的字符,现在可以通过自己编写实现想要实现的功能。

2:经验教训:下课多看书,把书读透,多翻翻ppt,了解要点,多写代码,还有上课千万不能走神,更不能睡觉,否则你就毁了。

3:可以督促我按时交作业,我是一个自控能力较差的人。。。。我觉得没有什么需要改进的了,这样的模式就很好啊,当然我会推荐给学弟学妹们。

4:倒不是恭维,老师助教你们做的真的很好了,写代码到大半夜问你们问题也会在第一时间回复,辛苦你们了。

posted on 2016-12-12 23:11  Mty灬  阅读(238)  评论(2编辑  收藏  举报

导航