第十一次作业

一、实验内容      

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

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

 

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

# include <stdio.h>
# include <string.h>
# include <stdlib.h>
int main()
{
    int number=3;
    char password1[7],password2[7];
    printf("请设置6位数的密码:\n");
    scanf("%s",password1);
    printf("请输入密码:\n");
    while(number!=0)
    {
        scanf("%s",password2);
        if(strcmp(password1,password2)==0)
        {
            printf("密码正确\n");
            break;
        }
        else
        {
            number=number-1; 
            printf("密码错误,你还有%d次机会\n",number);
        }
    }    
    return 0;    
}

 

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

#include<stdio.h>
#include<string.h>
int putNum(char num[]);
int main()
{
    char num[7];
    printf("输入一串字符\n");
    scanf("%s",num); 
    if(putNum(num)==1)
    {
        printf("是回文数\n"); 
    }
    else
    {
        printf("不是回文数\n"); 
    }
    return 0; 
    }
    int putNum(char num[])
    {
    int a,i,j,c;
    c=strlen(num)-1;
    for(j=c,i=0;i<=j;i++,j--) 
    {
    if(num[i]!=num[j])
    {
    return 0;
    }
}
return 1;

}

二、实验总结
1、用“%s”格式符输出字符串的时候printf输出的是字符数组名而不是数组元素名
2、字符串以\0来结束,不是\n。
3、第三题for语句条件里若有多个表达式可以用,分开。
4、如果一个数组中包含一个以上‘\0’,则遇第一个‘\0’时输出结束

5、用“%s”格式符输出字符串的时候不用加取地址符

三、课程体会

1、经过一个学期的学习,你统计过一共写了多少行代码吗?与开学初相比,你对C语言或者程序设计有了哪些认识和理解?

  写了大约1700行左右,刚开始完全不知道这是神么鬼,随着后来的学习发现C语言好神奇,编写程序

2. 在C语言的学习过程中,你有什么经验和教训分享给大家?

 一定要预习,多写写程序,多看看别人怎么写的尤其是那些学得好的同学 

 3. 对于采用技术博客提交作业这种形式,你有什么看法,对你有帮助的地方在哪里?你觉得还可以做哪些改进?,如果下一届的学弟学妹们入学了,你会给他们推荐这种教学形式吗?

  博客园里交作业对我很有帮助,比较方便,可以通过别人对我程序的评论找出自己的不足,也可以看看别人的程序对自己有没有启发,看看别人出的错自己是不是也会犯。

  会推荐的,但是如果我有亲弟弟妹妹不建议学这个

posted @ 2016-12-18 14:47  山中人兮芳杜若9804  阅读(200)  评论(1编辑  收藏  举报