• 孙晓宇 20190905-3 命令行和控制台编程


    此作业的要求参见[https://edu.cnblogs.com/campus/nenu/2019fall/homework/5523]

    1.熟悉 命令行和控制台

    假设在当前目录下存在应用程序 a.exe 和 文本文件 b.txt,请以数据流图并辅助以文字说明下述控制台命令的作用是什么。

     a.exe < b.txt > c.txt

    答:将b.txt在a.exe中执行,经过执行后,结果保存在c.txt中,如下图所示。

     请用C言开发应用程序d.exe,从控制台指令读入命令行参数,并在控制台分别打印出a、b、c的值。运行效果形如下面的示例

    d.exe a=1 b=2 c=3

    1

    2

    3

    d.exe a=11 b=22 c=33

    11

    22

    33

    答:

    代码如下:

    #include "stdio.h"
    void main() {
        int a,b,c;
            scanf("a=%d b=%d c=%d",&a,&b,&c);
            printf("%d
    %d
    %d
    ",a,b,c);
    }

    执行效果图如下:

     2.熟悉 测试用例

    (1)请在网站 [https://pintia.cn/]注册账号。

    (2)在题目集 PAT (Basic Level) Practice (中文) 中任选3道题目完成。截图如下,要求包括1.红色对号、2.标号、3.用户名(此例中为 Young)。

    (3)代码解读。

    答:

    (2)

     

    (3)代码解读:

    1001题——害死人不偿命的(3n+1)猜想

    重难点:此题重点要读清楚题意,理解清楚题,刚开始做的时候由于审题不清,以为先将奇偶数区分开来然后按照相应的公式循环,并没有放在同一个大循环中来执行,导致奇数执行不出结果,偶数结果错误。之后放在同一个循环中,判断奇数还是偶数,奇数进行(3n+1)/2的计算,偶数进行n/2的计算,程序运行正确。

    重要代码:

        scanf("%d",&n);
        while(n!=1){
            if(n%2==0){
                n=n/2;
            }
            else{
                n=(3*n+1)/2;
            }
            i++;
        }

     1006题——换个格式输出整数

    重难点:(1)取出百位数、十位数、个位数;(2)将个位数按1234...n的格式输出。

    重要代码:

        scanf("%d",&n);
        a=n/100;
        b=n%100/10;
        c=n%10;
        while(a--){
            printf("B");
        }
        while(b--){
            printf("S");
        }
        while(c--){
            printf("%d",i);
            i++;
        }

     1056题——组合数的和

    重难点:如果将N个数的和,一个个排列组合,那么这个程序将会有很多的循环,也会特别的麻烦。但是如果想清楚,这N个数,每一个数都会在个位出现(N-1)次,也会在十位出现(N-1)次,就会变得很简单。

    for(int i = 0; i < N; i++)
        {
            scanf("%d", &a);
            sum=sum+a*(N-1)*11;
        }

     (4)PSP

    原因分析:(1)语法不熟练,做题的时候会查看着语法规则和函数用法做题;(2)很简单的题可是做起来却没那么简单,并且会出很多的错误,调试很多次才能运行好;(3)做题的时候出现了没有认真读题的情况,导致程序运行出错,检查好几遍才发现错误。

  • 相关阅读:
    UVA 11987 几乎就是并查集= =
    UVALive 5908 更新一下线段相交模板
    【poor几何】UVALive 5908 更新一下线段相交模板
    【poor几何】UVALive 5908 更新一下线段相交模板
    UVALive 3634 熟悉一下STL
    UVALive 3634 熟悉一下STL
    UVALive 3634 熟悉一下STL
    hdu2665 主席树模板题
    hdu2665 主席树模板题
    迷宫问题 POJ
  • 原文地址:https://www.cnblogs.com/sunxiaoyu/p/11493897.html
Copyright © 2020-2023  润新知