zoukankan      html  css  js  c++  java
  • 第十一次作业

    (一)实验内容        

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

      1.1 代码:

    #include <stdio.h>
    #include <string.h>
    #define N 100
    int main ( )
    {
    	int i,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0;
    	char a[N];
    	printf("请输入一串字符
    ");
    	gets(a);
    	for(i=0;i<strlen(a);i++)
    	{
    		if(a[i]>='A'&&a[i]<='Z')
    		{
    			sum1++;
    		}
    		else if(a[i]>='a'&&a[i]<='z')
    		{
    			sum2++;
    		}
    		else if(a[i]>='0'&&a[i]<='9')
    		{
    			sum3++;
    		}
    		else if(a[i]==' ')
    		{
    			sum4++;
    		}
    		else
    		{
    			sum5++;
    		}
    	}
    	printf("大写字符有%d个
    小写字符有%d个
    数字有%d个
    空格有%d个
    其他字符有%d个
    ",sum1,sum2,sum3,sum4,sum5);
    	return 0;
    }
    

     1.2 程序运行结果:

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

    2.1 代码:

    #include <stdio.h>
    #include <string.h> 
    int main()
    { 
     	int a;
        char password[]="shouwei",input[8];
        printf("please input the password
    ");
        for(a=0;a<3;a++) 
     {
        scanf("%7s",input);
        if(strcmp(password,input)==0)
        {
        	printf("welcome!");
    	} 
        else
        {
        	if(a==2) 
        	{
         		printf("三次输入机会已用完"); 
        	} 
       		else
        	{
        		printf("wrong password!
    please input the password again
    ");
        	} 
        } 
     }
       return 0;
    }
    

      

    2.2 程序运行结果:

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

    3.1 代码:

    #include <stdio.h>
    #include <string.h>
    #define N 100 
    int a(char str[]);
    int main()
    {
    	int x;
     	char str[N];
     	printf("请输入字符
    ");
     	scanf("%s",str);
     	x=a(str);
     	if(x==0)
     	{
      		printf("这串字符不是回文数
    ");
     	}
     	else
     	{
      		printf("这串字符是回文数
    ");
     	}
     	return 0;
    }
    	int a(char str[])
    	{
     		int b,i,j;
     		b=strlen(str);
     		for(i=0,j=b-1;i<j;i++,j--)
     		{
      			if(str[i]==str[j])
      			{
       				continue;
      			}
      			else
      			{
       				return 0;
      			}
     		}
     		return 1;
    	}
    

      

    3.2 程序运行结果:

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

    1. scanf与gets的运用要合理,建议写程序时运用gets,因为C语言不对越界做检查,运用scanf容易越界。

    2.求和时记得给sum赋初始值。

    3.回文数的判断不能只看几个数位,比如在有的程序语言中asdssaa也会被判断为回文数

    4.另外要看清程序的要求。

    (三)课程体会

    1. 说实话,自己写过多少行代码真的是没有统计过,正确的加上编写的有问题的代码怎么也有4000-5000行了吧,因为我的程序有时会出现许许多多的问题,需要不断地改,所以应该不少。而且通过学习,我从一开始的一点儿都不懂,到现在的可以自己写出一些小程序,感觉学到了很多,也让我认识到了只有不断地练习才可以更加熟练,比如C语言代码,写的多了,也就知道了其中的乐趣。

    2.在自己不会的时候不妨问问自己的舍友或者同专业的同学,当然高年级的学长以及我们的认可老师也可以为我们提供帮助,也可以借鉴下别的同学的程序也不是不可以,但仅限于借鉴,不可以抄,一个程序可以有很多种方法来写,也许看完别人的代码就可以激发自己的灵感。

    3.对于博客提交作业这种形式,我的看法是这是一种好方法,不仅为我们提供了交流的平台,而且也可以督促我们及时完成作业。

  • 相关阅读:
    Linux下常用程序的代理服务器(proxy)配置
    如何下载google play免费应用的apk文件
    sublime text多文件夹查找关键字
    linux下查看文件夹的大小
    使用virtualenv搭建独立的Python环境
    python代码中使用settings
    /lib /usr/lib /usr/local/lib区别
    修改setup.py的源
    Null ModelAndView returned to DispatcherServlet with name 'dispatcherServlet': assuming HandlerAdapter completed request handling
    使用Restful风格中的post使用过遇到前端数据传送不到后端
  • 原文地址:https://www.cnblogs.com/wei530/p/6184532.html
Copyright © 2011-2022 走看看