zoukankan      html  css  js  c++  java
  • 第一次闭环输出前面几节的demo

    思考题(1):位数输出

    计算一个输入整数的十进制表示的位数?
    条件 1:允许有多余输出的情况下,怎么实现?
    条件 2:只允许输出数字位数的时候,又该怎么实现?
    请单纯考虑使用 printf 一族函数方法实现。

    #include <stdio.h>
    
    int main() {
        int n;
        scanf("%d", &n);
        printf(" has %d digits
    ", printf("%d", n)); // 有多余输出
        char output[50];
        int ret = sprintf(output, "%d", n);
        printf("%d
    ", ret); // 无多余输出
        return 0;
    }
    

    思考题(2):读入一行字符串

    请大家自行实现一个读入一行字符串,并且输出相关内容的程序,思考如下:
    条件 1:如果字符串中没有空格,怎么实现?
    条件 2:如果字符串中有空格,又该怎么实现?
    请单纯考虑用 scanf 一族函数方法实现。

    #include <stdio.h>
    char str[100];
    int main() {
        scanf("%[^
    ]s", str);
        printf("%s
    ", str);
        return 0;
    }
    

    思考题:打印乘法表

    使用循环和条件判断,打印一个格式优美的 66 乘法表
    要求 1:输出内容及样式参照下面给出的样例
    要求 2:每两列之间用 字符进行分隔,行尾无多余 字符

    #include <stdio.h>
    int main() {
        for (int i = 1; i <= 6; i++) {
            for (int j = 1; j <= i; j++) {
                j == 1 || printf("	");          
                printf("%d * %d = %d", j, i, i * j);
            }
            printf("
    ");
        }
        return 0;
    }
    

    思考题:设计迷你随机函数

    设计一个循环过程,循环 100 次,以不太明显的规律输出 1~100 中的每个数字。
    要求 1:规律尽量不明显。
    要求 2:只能使用循环和最基本的运算,不允许超前使用数组。

    #include <stdio.h>
    int main() {
        int n = 5;
        for (int i = 1; i <= 100; i++) {
            printf("%2d ", n);
            if (i % 10 == 0) printf("
    ");
            n = (n * 3) % 101;
        }
        return 0;
    }
    

    思考题:去掉倍数

    设计一个去掉倍数的程序,要求如下:

    首先读入两个数字 n 和 m,n 的大小不会超过 10,m 的大小都不会超过 10000;

    接下来读入 n 个各不相同的正整数,输出 1 到 m 中,有哪些数字无法被这 n 个正整数中任意的一个整除。

    #include <stdio.h>
    int check[1005] = {0};
    int main() {
        int n, m, num;
        scanf("%d%d", &n, &m);
        for (int i = 0; i < n; i++) {
            scanf("%d", &num);
            for (int j = num; j <= m; j += num) {
                check[j] = 1;
            }
        }
        for (int i = 1; i <= m; i++) {
            if (check[i] == 1) continue;
            printf("%d ", i);
        }
        return 0;
    }
    

    思考题(1):体验利器

    刚刚在上面,介绍了 sprintf 和 sscanf 两个字符串处理的利器工具,那么就请使用 sprintf 函数实现 strlen、strcpy、strcat 函数的功能,注意哦,只允许使用 sprintf 函数,模仿如上三个函数的功能。

    #include <stdio.h>
    char str1[1000], str2[1000];
    int main() {
        scanf("%s%s", str1, str2);
        printf("str1 = %s	str2 = %s
    ", str1, str2);
        sprintf(str1, "%s", str1);   // strlen(str1)
        sprintf(str1, "%s", str2);   // strcpy(str1, str2)
        printf("str1 = %s	str2 = %s
    ", str1, str2);
        sprintf(str1, "%s%s", str1, str2);   // strcat(str1, str2)
        printf("str1 = %s	str2 = %s
    ", str1, str2);
        return 0;
    }
    

    思考题(2):优美的遍历技巧

    介绍完了字符串的相关知识以后,请思考如下问题,如何在不计算字符串长度的情况下,遍历字符串的每一位呢?
    程序设计要求是,读入一个字符串,然后在不计算字符串长度的情况下,输出字符串中的每一个字符,每个字符占一行。其中所谓计算字符串长度的方法,包括但不限于 strlen,sprintf,先行 for 循环遍历统计等。

    #include <stdio.h>
    int main() {
        char str[1000];
        scanf("%s", str);
        for (int i = 0; str[i]; i++) {
            printf("%c
    ", str[i]);
        }
        return 0;
    }
    
  • 相关阅读:
    【C#】最完整的IIS添加WCF配置
    IIS配置中增加对WCF程序的支持svc(IIS10中添加WCF支持几种方法小结)
    ASP.NET C#各种数据库连接字符串大全——SQLServer、Oracle、Access
    记一次 .NET 某医院HIS系统 CPU爆高分析(Windbg)
    C#调用Win32 API 的方法
    闲无聊,发个winform中使用html编辑器的方案
    使用非托管 DLL 函数
    flask中的CBV和FBV
    2.6 CSS3其他特性(了解)
    2.5 CSS3盒子模型
  • 原文地址:https://www.cnblogs.com/liugangjiayou/p/12595628.html
Copyright © 2011-2022 走看看