首页 > 代码库 > 第十一次作业

第十一次作业

(一)实验内容        

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

代码:

#include<stdio.h>
#define str_len 100
int main()
{
    int a=0,b=0,c=0,d=0,e=0,i;
    char str[str_len];
    printf("请输入一串字符,计算字符个数\n");
    scanf("%s", str);
    for(i=0;str[i]!=\0;i++)
    {
        if(str[i]>=A&&str[i]<=Z)
        {
            a++;
        }
        else if(str[i]>=a&&str[i]<=z)
        {
            b++;
        }
        else if(str[i]>=0&&str[i]<=9)
        {
            c++;
        }
        else if(str[i]== )
        {
            d++;
        }
        else
        {
            e++;
        }
    }
    printf("%d个大写字母,%d个小写字母,%d个数字,%d个空格,其他字符%d个",a,b,c,d,e);
    return 0;
 } 

程序运行结果:

技术分享

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

代码:

#include <stdio.h>
#include <string.h> 
int main()
{    
    int i;
    char password[]="chenqiu",input[8];
    printf("请输入密码\n");
    for(i=0;i<3;i++)
    {
        scanf("%7s",input);
        if(strcmp(password,input)==0)
        {
            printf("密码正确,welcome!");
            break; 
        }
           else
        {
            printf("密码输入错误,你还有%d次机会!\n",2-i);
            int c;
             while((c=getchar())!=\n&&c!=EOF);
        }
    }
    return 0;
}

程序运行结果:

技术分享

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

代码:

#include<stdio.h>
#define N 100
int panduan(char str[]);
int main()
{
    printf("请输入一串字符,判断是否回文\n");
    char str[N];
    gets(str);
    if(panduan(str))
    {
        printf("字符串回文");
    }
    else
    {
        printf("字符串不回文");
    }
 } 
 int panduan(char str[])
 {
     int i,b=-1;
     for(i=0;str[i]!=\0;i++)
     {
         b++;
    }
    for(i=0;i<b;i++,b--)
     {
         if(str[i]!=str[b])
         {
             return 0;
         }
         else
         {
             return 1;
         }
    }
 }
 

程序运行结果:

技术分享

(二)实验总结(实验中遇到的问题及解决方法) 

1、字符型的需要加上单引号。

2、用循环输出字符串时,判断应为str[]不等于\0。

3、字符串比较函数存在库函数#include<string.h>中。

4、字符串的结束标志是‘\0‘。

(三)课程体会(请回答以下问题)

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

答:没统计过。经过一个学期的学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它

 

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

答:通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习c语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,大家要注视实践操作,使自己便好地学好计算机。

 

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

答:博客提交作业这种形式真心不错,能自行督促学生按时完成作业,没啥需要改进的。给下一届的学弟学妹们推荐这种教学形式。

 

4. 对于这门课程,对于老师和助教的工作,你有什么好的建议或者意见,都可以提出来,我们一起改进。

答:老师和助教都很好。

 

第十一次作业