第十一次作业

(一)实验内容        

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

原文地址:https://www.cnblogs.com/wei530/p/6184532.html