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

第十一次作业

一、实验内容

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

代码:

#include<stdio.h>
#define N 100 
int main()
{
    char a[N];
    int i,b=0,c=0,d=0,e=0,f=0;
    printf("请输入一组字符串,以回车结束\n");
    gets(a);
    for(i=0;i<N;i++)
    {
        if(a[i]<97&&a[i]>=65)
        {
            b++;
        }
        else if(a[i]<123&&a[i]>=97)
        {
            c++;
        }
        else if(a[i]== )
        {
            d++;
        }
        else if(a[i]<9&&a[i]>0)
        {
            e++;
        }
        else
            f++;
    } 
    printf("共有%d个大写字母,%d个小写字母,%d个空格,%d个数字,%d个其他字符\n",b,c,d,e,f);
    return 0;
}

程序运行结果:技术分享

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

代码:

#include<stdio.h>
#include<string.h>
int main()
{
    char secret[]="jackon",code[7];
    int i;
    printf("请输入密码,你有3次机会:\n");
    for(i=0;i<3;i++)
    {
        scanf("%6s",code);
        if(strcmp(secret,code)==0)
        {
            printf("密码正确\n");
            break;
        }
        else
        {
            printf("密码错误\n");
        }
    }
    return 0;
}

程序运行结果:技术分享

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

代码:

#include<stdio.h>
#include<string.h>
#define N 80
int huwen(char str[N+1]);
int main()
{
    char str[N+1];
    int a;
    printf("请输入一个字符串\n");
    gets(str);
    a=huwen(str);
    if(a==0)
    {
        printf("不是回文数");
    }
    else
    {
        printf("是回文数");
    }
    return 0;
}
int huwen(char str[N+1])
{
    int i,j,num;
    num=strlen(str);
    for(i=0,j=num-1;i<j;i++,j--)
    {
        if(str[i]==str[j])
        {
            continue;
        }
        else 
        {
            return 0;
        }
    }
    return 1;
}

程序运行结果:技术分享

 

第十一次作业