编程:c语言打表法是什么,求详细介绍

编程:c语言打表法是什么,求详细介绍,第1张

是算法竞赛选手吗?

打表法一般是这么用的:

有些题的输入输出都很简单,比如输入只有两个整数,输出一个整数这种。但是暴力肯定会超时。这时候就先暴力计算出来比如前100项的答案,列成表格人眼找规律,然后根据自己(猜的)规律直接写个程序交上去如果AC了就猜对了,wrong answer了就再想办法。

简单来说可以用数组来实现,

例如定义3X3表格char A[33],A[00]~A[03]存放表格属性,剩下的存放数据

举个例子抽象出来就是:姓名(A00) 性别(A01) 年龄(A02)

小王(A10) 男(A11) 30(A12)

大王(A20) 男(A21) 30(A22)

#include <stdioh>

int main()

{

float score[2][2] = {0};

for (int i = 0; i < 2; i++)

{

for (int j = 0; j < 2; j++)

{

scanf("%f", &score[i][j]);

}

}

printf("----------------------\n");

printf("序号语文  数学  总成绩\n");

printf("----------------------\n");

for (int i = 0; i < 2; i++)

{

printf("%-4d%-61f%-61f%61f\n", i + 1, score[i][0], score[i][1], score[i][0] + score[i][1]);

}

return 0;

}

//测试输出:

//800

//905

//905

//705

//----------------------

//序号语文  数学  总成绩

//----------------------

//1   800  905   1705

//2   905  705   1610

八进制和十六进制可以直接用%o和%x输出。

二进制这里自己弄了下。

#include <stdioh>

int main(int argc, char argv[])

{

    int i, j, n;

    char two[9] = {0};

    for(i = 1; i <= 255; i++)

    {

        /十进制/

        printf("%4d",i);

        /二进制/

        for(j=7, n=i; j>=0; j--, n>>=1)

        {

            two[j]=(n & 1) + '0';

        }

        printf("%9s", two);

        /八进制/

        printf("%4o", i);

        /十六进制/

        printf("%3x\n", i);

    }

    return 0;

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/12154127.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存