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

#include <stdio.h>
#define N 1000
int main()
{
    char ch[N];
    int i,num=0,bigletter=0,smallletter=0,space=0,other=0;
    printf("ÇëÊäÈë×Ö·û´®£º\n");    
    gets(ch);
//    puts(ch);    
    for(i=0;ch[i]!='\0';i++)
    {
        if(ch[i]>='0'&&ch[i]<='9')
        {
            num++;
        }
        else if(ch[i]>='A'&&ch[i]<='Z')
        {
            bigletter++;
        }
        else if(ch[i]>='a'&&ch[i]<='z')
        {
            smallletter++;
        }
        else if(ch[i]==' ')
        {
            space++;
        }
        else
        {
            other++;
        }
    }
    printf("Êý×ÖÓÐ%d¸ö\n",num); 
    printf("´óд×ÖĸÓÐ%d¸ö\n",bigletter);
    printf("Сд×ÖĸÓÐ%d¸ö\n",smallletter);
    printf("¿Õ¸ñÓÐ%d¸ö\n",space);
    printf("ÆäËû×Ö·ûÓÐ%d¸ö\n",other);
    return 0;
} 

 

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

#include <stdio.h>
#include <string.h>
#define N 10
int main()
{
    char ch[N],hc[N];
    int i=0;
    printf("Çë´´½¨Ò»¸ö²»¶àÓÚ¾ÅλµÄÃÜÂ룺\n");
    gets(ch);
    printf("ÇëÊäÈëÄãµÄÃÜÂ룺\n");
    gets(hc);
    while(i<3)
    {
        if (strcmp(ch,hc)==0)
        {
            printf("ÊäÈëÕýÈ·£¡\n");
            break;
        }
        else
        {
            printf("ÃÜÂë´íÎó£¡\n");
        }
        i++;
        gets(hc);
    }
    if(i==3)
    {
        printf("\nÄãµÄ´ÎÊýÒÑÓÃÍ꣡");
    }
    return 0; 
}

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

#include<stdio.h>
#include<string.h>
#define N 100
int huiwen(char str[]);
int main()
{
    int n;
    char str[N];
    printf("请输入一段字符串:\n");
    scanf("%s",str);
    n=huiwen(str);
    if(n==1)
    {
        printf("该字符串为回文字符串。\n"); 
    }
    else
    {
        printf("该字符串不是回文字符串。\n"); 
    }
    return 0;
}

int huiwen(char str[N])
{
    int i,g,m;
    g=strlen(str);
    for(i=0,m=g-1;i<=m;i++,m--)
    {
        if(str[i]!=str[m])
            {
                return 0;
            }
    }
    return 1;
}

 

实验总结:

1:字符串的scanf是%s,没有取地址符&!!,字符串的scanf是%s,没有取地址符&!!,字符串的scanf是%s,没有取地址符&!!

2:使用除gets和puts以外的字符串处理函数时要记得使用头文件string.h。

3:scanf和gets的几个区别

  scanf函数输入字符串里不能包含空格,需要使用gets函数。

    gets函数:\n等不会读入数组,会转化为\0,会将其从缓冲区读走。

4:字符串最后一位是\0。

 

课程体会:

1:代码写了...据不完全统计...有一千多行,(一个万年历和另一个程序就直接堆了不少。。。)

  C语言这东西很好玩。就是告诉你什么是干什么的,具体怎么做,就得靠自己了。

  C呢,就是现吃现做.JAVA就是外卖。

  作为经典中的经典,基础的基础,必须学好C。。

2:教训...好好听课多练练,还有,学!好!数!学!  

  编程说着是编程,但我感觉更多的是数学问题。

  编程问题模型化,模型问题数学化

3:头一次用博客写作业,感觉不错

  最好的地方在于复习方便。要拿本子写,我估计,期末的时候我只能找到最近几次作业。。。

posted on 2016-12-15 17:32  燕超  阅读(260)  评论(2编辑  收藏  举报