C语言经典题目(八)

简介: C语言经典题目(八)

36.编写代码实现,模拟用户登录情景,并且只允许输入三次密码,如果密码正确则提示登录成,如果三次均输入错误,则退出程序。

字符串之间不能直接比较,需要使用strcmp函数、需要引头文件string.h
strcmp的返回值有三种,分别是大于0、小于0、等于0
第一个字符串大于第二个字符串,则返回大于0
第一个字符串小于第二个字符串,则返回小于0
第一个字符串等于第二个字符串,则返回等于0
比较的是ASCLL码值
在这里插入图片描述
#include<stdio.h>
int main()
{
    int i = 0;
    int password[20] = { 0 };
    for (i = 0; i < 3; i++)
    {
        printf("密码:");
        scanf("%s", password);
        if (strcmp(password, "123456") == 0)
        {
            puts("登录成功!!!");
            break;
        }
        else
            printf("登录失败,你还有%d 次机会\n", 2 - i);
    }
    if (3 == i)
        printf("输入失败!!!");
    return 0;
}

37.计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值

结果是小数,要用浮点型!

int main()
{
    double sum1 = 0.0, sum2 = 0.0, sum = 0.0;
    for (int i = 1; i < 100; i += 2)
    {
        sum1 = sum1 + (1.0) / i;
    }
    for (int i = 2; i < 101; i += 2)
    {
        sum2 = sum2 + (1.0) / i;
    }
    sum = sum1 - sum2;
    printf("%lf\n", sum);
}

38.打印沙漏

在这里插入图片描述

#include<stdio.h>
int main(){
    int N,num=1,i=1,j=1,sum;
    char n;
    scanf("%d %c",&N,&n);
    while(i<=N){
        j+=2;
        i+=j*2;
        num+=2;
    }
    i-=j*2;    //计算组成沙漏的最大个数 
    num-=2;    //计算沙漏行数 
    sum=N-i;//计算剩余数 
    //上半部分 
    for(j=0;j<num/2+1;j++){
        for(i=0;i<j;i++){
            printf(" ");
        }
        for(i=0;i<num-j*2;i++){
            printf("%c",n);
        }
        printf("\n");
    }
    //下半部分 
    for(j=1;j<=num/2;j++){
        for(i=1;i<=num/2-j;i++){
            printf(" ");
        }
        for(i=1;i<=j*2+1;i++){
            printf("%c",n);
        }
        printf("\n");
    }
    
    printf("%d\n",sum);//输出剩余数 
    return 0;
} 

39.个位数统计

在这里插入图片描述

#include <stdio.h>
#include <string.h>
int main()
{
    int n,i,j;
    char a[1000],b='0';
    scanf("%s",a);
    i=strlen(a);
    while(b<='9')////统计1~9每一个数字出现次数
    {
        n=0;
        for(j=0;j<i;j++)
        {
            if(a[j]==b)
                n++;
        }
        if(n!=0)
            printf("%c:%d\n",b,n);
        b+=1;
    }
    return 0;
}

40.矩阵元素定位

在这里插入图片描述

#include<stdio.h>
int main(){
    int n=0,m=0,i=0,j=0,x=0,y=0,arr[10][10]={0};
    scanf("%d %d",&n,&m);
    for(i=1;i<=n;i++){
        for(j=1;j<=m;j++){
            scanf("%d ",&arr[i][j]);
        }
    }
    scanf("%d %d",&x,&y);
    printf("%d",arr[x][y]);
    return 0;
}
相关文章
|
8月前
|
C语言
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
|
8月前
|
存储 C语言 C++
C语言------------指针笔试题目深度剖析
C语言------------指针笔试题目深度剖析
53 1
2.C语言题目---字符串左旋
2.C语言题目---字符串左旋
83 1
|
3月前
|
程序员 C语言
【C语言】LeetCode(力扣)上经典题目
【C语言】LeetCode(力扣)上经典题目
|
存储
1.C语言题目---指针类(基础)
1.C语言题目---指针类(基础)
76 1
|
5月前
|
存储 编译器 C语言
【C语言】指针练习题目
【C语言】指针练习题目
|
7月前
|
测试技术 C语言
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
57 1
|
8月前
|
算法 编译器 API
C语言易混淆、简单算法、结构体题目练习、常见关键字总结-1
C语言易混淆、简单算法、结构体题目练习、常见关键字总结
|
7月前
|
C语言
c语言循环题目
c语言循环题目
|
8月前
|
C语言
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)

热门文章

最新文章