第十一次作业

一、实验内容      

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

# include<stdio.h>
# define  N  100
int main()
{
  char  num[N];
  int i,b=0,c=0,d=0,e=0,f=0;
  printf("请输入一个字符串:
");
  scanf("%s",num);
  //gets(num);
  puts(num);
  i=0;
  while(num[i]!='')
  {
     if(num[i]>='A'&&num[i]<='Z')
     {
        b++;
     }
     else if(num[i]>='a'&&num[i]<='z')
     {
        c++;
     }
     else if(num[i]>='0'&&num[i]<='9')
     {
         d++;
     }
     else if(num[i]==' ')
     {
        e++;
     }
     else
     {
        f++;
     }
     i++;
  }
  printf("大写字母有%d个,小写字母有%d个,数字有%d个,空格有%d个,其他有%d个",b,c,d,e,f);
  return 0;
}

 

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

# include <stdio.h>
# include<string.h>
int main()
{
   char password[]="123456",input[8];
   int i;
    for(i=0;i<3;i++)
    {
      printf("请输入一个六位数的密码:
");
      gets(input);
      if(strcmp(password,input)==0)
      { 
        printf("Welcome!");
        break;
      }
      else
      {
        printf("wrong password!
");
      }
   }
   return 0;
}

 

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

# include<stdio.h>
# include<string.h>
# define N 100
int palindrome (char M[]);
int main ()
{
    char input[N];
    printf("请输入一串字符");
    gets(input);
    if(palindrome(input))
    {
      printf("Yes!");
    }
    else
    {
       printf("No!");
    }
   return 0;
}
int palindrome (char M[])
{
  int i,m;
  m=strlen(M);
  for(i=0;i<m;i++)
  {
     if(M[i]!=M[m-1])
     {
        return 0;
     }
     m--;
  }
  return 1;
}

 

二 实验总结

1.在实验二中注意for语句中的条件是i<3而不是2

2.第三实验注意要写j--

1大概写了2000行吧,一开始觉得C语言都是英文,觉得会很难,现在觉得C语言不像英语一样要记大量的单词,并且觉得C语言挺有趣的。

2要注意写得格式,养成一个好习惯,要细心(例如不要把main写成mian),写之前要想好怎么写,要有思路。

3很喜欢采用技术博客提交作业这种方式,这样增加了我们课下写代码的次数,调动了我们的积极性,我会推荐下一届的学弟学妹们用这个的

4老师和助教都很好,都在很用心的帮助我们,很遗憾的是老师下学期不教我们了。虽然老师不教我们了,但是你帮我们养成的好习惯我们会好好保持的

原文地址:https://www.cnblogs.com/wei-1249700655/p/6172273.html