首页 > 代码库 > 作业十一

作业十一

 第一题:

#include<stdio.h>
#define n 100
int main()
{
    char a[n];
    int i,a1=0,b=0,c=0,d=0;
    printf("输入字符串:\n");
    gets(a);
    for(i=0;a[i]!=\0;i++)
    {
        if(a[i]>=A&&a[i]<=Z)
        {
        a1++;
        }
        else if(a[i]>=a&&a[i]<=z)
        {
        b++;
        }
        else if(a[i]>=0&&a[i]<=9)
        {
        c++;
        }
        else 
        {
        d++;
        }
    }
    printf("大写字母有%d个,小写字母有%d个,数字有%d个,其他符号有%d个.\n",a1,b,c,d);
    return 0;
}

技术分享

第二题:

#include<stdio.h>
#include<string.h>
#define n 100
int main()
{
    char a[n],b[n];
    int i,c,d=3; 
    printf("设置一个密码\n");
    gets(a);
    printf("输入密码,你有三次机会验证。\n");
    
    do
    {
    
    gets(b);
    if(strcmp(a,b)==0)
        {
            printf("密码正确\n");
            break;
        }
        else if(d!=1)
        {
            printf("密码错误,剩余%d次。\n",d-1);
            d--;
        }
        else
        {
            printf("密码错误,没有机会了。\n");
            break;
        }
    }while(d!=0);
return 0;
 } 

技术分享

第三题:

#include<stdio.h>
#define n 100
int bijiao(char a[]);
int main()
{    
    int i,j;
    char a[n];
    printf("输入一个英文字符串\n");
    gets(a);
    if(bijiao(a))
    {
        printf("是回文数\n");
    }
    else
    {
        printf("不是回文数\n");
    } 
    
}
int bijiao(char a[])
{
    int j=-1,i;
    for(i=0;a[i]!=\0;i++)
    {
        j++;
    }
    for(i=0;i<j;i++,j--)
    {
        if(a[i]!=a[j])
        {
            return 0;
        }
    }
    return 1;
}

技术分享

实验总结:

1:判断数组循环时要带上数组名 例如:a[i]。

2:可以使用特定的函数进行数组间的运算,省时又方便。

3:字符串的scanf不用加“&”,前边要用%s。

4:合理使用gets和puts。

 

作业十一