• 第十一次作业


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

    #include <stdio.h>
    #define S 100
    int main()
    {
    	char str[S+1];
    	int a=0,b=0,c=0,d=0,e=0,i;
    	printf("输入字符串
    ");
        gets(str);
        for(i=0;str[i]!='';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()
    {
    	char password[]="secret",input[8];
    	int i,a=0;
    	i=0;
    	while(i<=2)
    	{
    	printf("输入密码
    ");
    	scanf("%7s",input);
    	if(strcmp(password,input)==0)
        {
        	printf("密码正确!");
        	break;
    	}
    	if(i==2)
        {
        	printf("密码输入错误三次,无法再次输入密码
    ");
        	break;
    	}
        if(strcmp(password,input)!=0)
    	{
    	printf("密码错误,请重新输入
    ");
        }
         i++;
    }
        return 0;
    }

      

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

    #include <stdio.h>
    #include <string.h>
    #define N 100
    int Str(char str[]);
    int main()
    {
    	char str[N];
    	int n;
    	printf("输入一串字符
    ");
    	n=Str(str);
    	if(n==1)
    	{
    		printf("该字符串为回文数
    ");
    	}
    	 if(n==0)
    	{
    		printf("该字符串不是回文数
    ");
    	}
    return 0;
    }
    int Str(char str[])
    {
    	int i=0,j=0,k=0;;
    	gets(str);
    	k=strlen(str);
        for(i=0,j=k-1;i<=j;i++,j--)
    	{
    		if(str[i]!=str[j])
    		{
    		return 0;
    		}
            }
    		return 1;
    }
    

      

    实验总结:1.gets函数输入的字符串中可以包含空格,而scanf函数不能。

                  2.字符串的结束标志是'';

                  3.使用strcmp(str1,str2),如果str1=str2,返回零。

                  4.strlen可以读取字符长度。

    课堂体会

    1.经过一学期C语言的学习,怎么着也写了上千行的代码了,对C语言也有了初步的认识。C语言需要掌握运用基础知识灵活运用

    我感受到了C语言的神奇。编写程序时尽量优化程序,使程序简洁,C语言的编写时很自由的,一个题往往有几种写法。
    2.编写程序时思路很重要,先想清思路,再进行编程。还要注意细节,输出的位置,括号的位置,标点的使用等都需要小心。

    每次在绞尽脑汁后想出程序时的喜悦,只有真正尝试过的人才知道。我感觉代码还是要多练,才能更熟练。
    3.采用技术博客提交作业这种形式,我感觉挺好。技术博客可以提高学生的积极性等。

    学的好的可以早交作业,给编写程序没有思路的人提供思路,但是避免不了抄袭。

    但总体来说还不错。所以如果下届学弟学妹入学,我还会继续推荐给他们。
    4.我感觉老师和助教都很有责任心,每次问老师,老师都很耐心的讲,我很感谢老师,把我们领进了C语言的大门。感谢老师和助教。

  • 相关阅读:
    操作系统复习
    软件工程复习
    2020字节跳动校园招聘算法方向第二场考试题解(部分)
    【牛客】用两个栈来实现一个队列
    LeetCode 62. 不同路径
    LeetCode 79. 单词搜索
    LeetCode 113. 路径总和 II
    LeetCode 389. 找不同
    【牛客】矩阵交换
    【牛客】KiKi学习了结构体和指针
  • 原文地址:https://www.cnblogs.com/a378/p/6180749.html
Copyright © 2020-2023  润新知