如何编写程序,自己编写程序( 五 )


  • 把各种漏洞都堵上了,电脑执行你的指令,不管你有没有提到其它方面,所有的程序它都要复核一边 。 所以程序不要太庞大,需要简洁,减少电脑的运行 。 这个就与你堵漏洞有相反的要求 。 如果你编写了一个子程序,程序经常要用到这个,那么你要考虑怎么把这个程序精简到最低程度 。
  • 因为电脑只能识别这个语言,所以不能够在语法上有错误,它会理解不了 。
  • 说到漏洞,比如说,记事本里面查找功能,你要找文字(J3),那么它把(J33),(J32)里面的也找了,如果你在里面替换什么内容的话,就会出现问题 。 这个问题就是你要考虑的,怎么把漏洞堵上,不发生这样的问题 。
  • 所以我认为编程就是你对这个程序的理解程度考验 。 至于基本语言你学会就好,你要做的就是把你想说的话,翻译成电脑能够听懂的话 。 要说明,什么不能够做,什么应当做,一一交代清楚,只要说漏了一句,电脑就不按你的思路走了 。 (电脑不会思考,你要做的就是让电脑按你的思路走 。 )


  • 如何编程序 /*1、 编程解决如下数学问题:有12升水,怎样利用一个8升和一个5升的容器将水分为两个6升?要求以如下格式打印出分水步骤 。 (20分)
    a12 b8 c5
    12 0 0
    * * * ( "*"表示当前状态下每个容器的盛水量)
    ......
    6 6 0

    # include <stdio.h>
    # include <stdlib.h>
    void move(int *x,int *y,int aMax,int bMax)
    {
    if(aMax>bMax)
    {
    if(*x+*y>bMax)
    {
    *x = *x-(bMax-*y);
    *y = *y+(bMax-*y);
    }
    else
    {
    *y = *y+*x;
    *x = *x-*x;//如果颠倒两个的顺序就会造成无法输出
    }
    }
    else
    {
    *y = *y + *x;
    *x = *x - *x;
    }

    }
    main()
    {
    int aMax=12,bMax=8,cMax=5;
    int a=12,b=0,c=0;
    int i=1;

    printf(" a12 b8 c5:\n");
    printf("%7d%7d%7d\n",a,b,c);

    while(i)
    {
    move(&a,&b,aMax,bMax);
    printf("%7d%7d%7d\n",a,b,c);
    if(a==6&&b==6)
    goto step2;

    move(&b,&c,bMax,cMax);
    printf("%7d%7d%7d\n",a,b,c);
    if(a==6&&b==6)
    goto step2;

    move(&c,&a,cMax,aMax);
    printf("%7d%7d%7d\n",a,b,c);
    if(a==6&&b==6)
    goto step2;

    move(&b,&c,bMax,cMax);
    printf("%7d%7d%7d\n",a,b,c);
    if(a==6&&b==6)
    goto step2;
    }

    step2:
    printf("the water has been sorted!\n");

    return 0;
    }*/

    /*2、 编程实现:有二维数组a[3][3]={{5.4,3.2,8},{6,4,3.3},{7,3,1.3}},
    将数组a的每一行元素均除以该行上的主对角元素(第1行同除以a[0][0],第2行同除以a[1][1],...),
    按行输出新数组 。 (20分)
    # include <stdio.h>
    main()
    {
    double a[3][3]={{5.4,3.2,8},{6,4,3.3},{7,3,1.3}}; //可以在定义时初始化,在后来就不行了
    int i,j;

    for(i=0;i<3;i++)
    {
    for(j=0;j<3;j++)
    {
    if(i==j)
    a[i][j]=a[i][j];
    else
    a[i][j]=a[i][j]/a[i][i];
    }
    a[i][i]=1;

    }
    for(i=0;i<3;i++)
    {
    for(j=0;j<3;j++)
    printf("%6.2f",a[i][j]);
    printf("\n");
    }

    }*/
    /*3、编程:设x取值为区间[1,20]的整数,求函数f(x)=x-sin(x)- cos(x)的最大值,
    要求使用自定义函数实现f(x)功能 。 (20分)
    #include <stdio.h>
    #include <math.h>
    double f(long double x);
    main()
    {
    double a[50];
    int i,index,j;
    long double temp;

    for(i=0;i<20;i++)
    a[i] = f(i+1);

    for(i=0;i<19;i++)
    {
    index = i;
    for(j=i+1;j<20;j++)

    if(a[j]>a[index])
    index = j;
    temp = a[index];
    a[index] = a[i];
    a[i] = temp;

    }
    printf("the max is %6.2f",a[0]);
    printf("\n");

    return 0;

    推荐阅读