C语言经典题目(三)

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

11. 统计输入数据的正负个数

在这里插入图片描述
题目分析:判断输入10个数的正负数个数,利用分支语句判断正负再让代表正负个数的变量加一即可。

#include<stdio.h>
int main()
{
    int a = 0,z=0,i=0,f=0;
    for (i = 0; i < 10; i++)
    {
        scanf("%d", &a);
        if (a < 0)
            f++;
        if (a >= 0)
            z++;
    }
    printf("positive:%d\n", z);
    printf("negative:%d\n", f);
    return 0;
}

12.学生基本信息输入输出

在这里插入图片描述
题目分析:题目不难,主要是考数据类型。

int类型,存储大小2或4字节,值范围-32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
long类型,存储大小4字节,值范围-2,147,483,648 到 2,147,483,647
float类型,存储大小4字节,值范围1.2E-38 到 3.4E+38,精度可达小数点后六位
#include <stdio.h>
int main()
{
    int num = 0;
    float c_score = 0.0;
    float math_score = 0.0;
    float eng_score = 0.0;
    scanf("%d;%f,%f,%f", &num, &c_score, &math_score, &eng_score);
    printf("The each subject score of No. %d is %.2f, %.2f, %.2f.\n", num, c_score, math_score, eng_score);
    return 0;
}

13.杨辉三角的前n行

在这里插入图片描述
题目分析:
杨辉三角:两条斜边都是由数字1组成,其余的数则是等于上一行左右两个数字之和。

#include <stdio.h>
int main()
{
    int n=0;
    int arr[30][30];
    int i=0,j=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        for(j=0;j<=i;j++)
        {
            if(j==0||i==j)
            {
                arr[i][j]=1;
                printf("%5d",arr[i][j]);
            }
            else
            {
                arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
                printf("%5d",arr[i][j]);
            }
        }
        printf("\n");
    }
    return 0;
}

14.模拟用户登录情景

模拟用户登录情景,并且只能登录三次,如果密码正确则提示登录成功,如果三次均输入错误,则退出程序。

题目分析:

对比密码需要运用比较函数。两个字符串比较不能用==应该使用strcmp(字符串比较函数)
strcmp是字符串比较函数,字符串比较必须用比较函数! stramp需要引头文件#include<string.h>
#include<stdio.h>
#include<string.h>
int main()
{
    int i = 0;
    //假设正确密码是123456
    char password[20] = { 0 };
    for (i = 0; i < 3; i++)
    {
        printf("请输入密码:");
        scanf("%s", password);
        if (strcmp(password, "123456") == 0)
        {
            printf("登录成功!");
            break;
        }
        else
        {
            printf("密码错误,请重新输入\n");
        }
    }
    if (i == 3)
    {
        printf("三次密码均错误,退出程序。");
    }
    return 0;
}

15.演示多个字符从两端移动,向中间汇聚

题目分析:
用两个数组,分别存放第一组字符和第二组字符。
接着将两个数组分别进行替换,起始位置+1,结束位置-1,利用while循环再一次次替换。

#include<stdio.h>
#include<string.h>
#include<windows.h>
int main()
{
    char arr1[] = "welcome to China!!!!";
    char arr2[] = "####################";
    int left = 0;
    int right = strlen(arr1) - 1;//strlen求字符长度
    while (left <= right)
    {
        arr2[left] = arr1[left];
        arr2[right] = arr1[right];
        printf("%s\n", arr2);
        Sleep(1000);
        left++;
        right--;
    }
    return 0;
}
相关文章
|
5月前
|
C语言
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
|
5月前
|
存储 C语言 C++
C语言------------指针笔试题目深度剖析
C语言------------指针笔试题目深度剖析
42 1
|
10月前
2.C语言题目---字符串左旋
2.C语言题目---字符串左旋
70 1
|
2月前
|
存储 编译器 C语言
【C语言】指针练习题目
【C语言】指针练习题目
|
10月前
|
存储
1.C语言题目---指针类(基础)
1.C语言题目---指针类(基础)
53 1
|
4月前
|
测试技术 C语言
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
40 1
|
5月前
|
算法 编译器 API
C语言易混淆、简单算法、结构体题目练习、常见关键字总结-1
C语言易混淆、简单算法、结构体题目练习、常见关键字总结
|
4月前
|
C语言
c语言循环题目
c语言循环题目
|
5月前
|
C语言
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)
|
5月前
|
C语言
C语言 浙大版《C语言程序设计(第3版)》题目集 练习8-8 移动字母 (10分)
C语言 浙大版《C语言程序设计(第3版)》题目集 练习8-8 移动字母 (10分)