经典c算法相关程序

【程序51】
题目:学习使用按位与 & 。 
1.程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1
2.程序源代码:
#include "stdio.h"
main()
{
    int a, b;
    a = 077;
    b = a & 3;
    printf("/40: The a & b(decimal) is %d /n", b);
    b &= 7;
    printf("/40: The a & b(decimal) is %d /n", b);
}

【程序52】
题目:学习使用按位或 | 。
1.程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1 
2.程序源代码:
#include "stdio.h"
/* 欢迎访问 C++Builder研究 - www.ccrun.com */
main()
{
    int a, b;
    a = 077;
    b = a | 3;
    printf("/40: The a & b(decimal) is %d /n", b);
    b |= 7;
    printf("/40: The a & b(decimal) is %d /n", b);
}

【程序53】
题目:学习使用按位异或 ^ 。 
1.程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0
2.程序源代码:
#include "stdio.h"
main()
{
    int a, b;
    a = 077;
    b = a ^ 3;
    printf("/40: The a & b(decimal) is %d /n", b);
    b ^= 7;
    printf("/40: The a & b(decimal) is %d /n", b);
}

【程序54】
题目:取一个整数a从右端开始的4~7位。
程序分析:可以这样考虑:
(1)先使a右移4位。
(2)设置一个低4位全为1, 其余全为0的数。可用~(~0<<4)
(3)将上面二者进行&运算。
2.程序源代码:
main()
{
    unsigned a, b, c, d;
    scanf("%o", &a);
    b = a >> 4;
    c = ~(~0 << 4);
    d = b & c;
    printf("%o/n%o/n", a, d);
}

【程序55】
题目:学习使用按位取反~。 
1.程序分析:~0=1; ~1=0;
2.程序源代码:
#include "stdio.h"
/* 63 63 72 75 6E 2E 63 6F 6D */
main()
{
    int a, b;
    a = 234;
    b = ~a;
    printf("/40: The a's 1 complement(decimal) is %d /n", b);
    a = ~a;
    printf("/40: The a's 1 complement(hexidecimal) is %x /n", a);
}

【程序56】
题目:画图,学用circle画圆形。 
1.程序分析:
2.程序源代码:
/* circle */
#include "graphics.h"
main()
{
    int driver, mode, i;
    float j = 1, k = 1;
    driver = VGA; mode = VGAHI;
    initgraph(&driver, &mode, "");
    setbkcolor(YELLOW);
    for(i=0; i<=25; i++)
    {
        setcolor(8);
        circle(310, 250, k);
        k = k + j;
        j = j + 0.3;
    }
}

【程序57】
题目:画图,学用line画直线。
1.程序分析: 
2.程序源代码:
#include "graphics.h"
// 本文转自 C++Builder 研究 - http://www.ccrun.com/article.asp?i=649&d=63xtli
main()
{
    int driver, mode, i;
    float x0, y0, y1, x1;
    float j = 12, k;
    driver = VGA; mode = VGAHI;
    initgraph(&driver, &mode, "");
    setbkcolor(GREEN);
    x0 = 263; y0 = 263; y1 = 275; x1 = 275;
    for(i=0; i<=18; i++)
    {
        setcolor(5);
        line(x0, y0, x0, y1);
        x0 = x0 - 5;
        y0 = y0 - 5;
        x1 = x1 + 5;
        y1 = y1 + 5;
        j = j + 10;
    }
    x0 = 263; y1 = 275; y0 = 263;
    for(i=0; i<=20; i++)
    {
        setcolor(5);
        line(x0, y0, x0, y1);
        x0 = x0 + 5;
        y0 = y0 + 5;
        y1 = y1 - 5;
    }
}

【程序58】
题目:画图,学用rectangle画方形。 
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
2.程序源代码:
#include "graphics.h"
main()
{
    int x0, y0, y1, x1, driver, mode, i;
    driver = VGA; mode = VGAHI;
    initgraph(&driver, &mode, "");
    setbkcolor(YELLOW);
    x0 = 263; y0 = 263; y1 = 275; x1 = 275;
    for(i=0; i<=18; i++)
    {
        setcolor(1);
        rectangle(x0, y0, x1, y1);
        x0 = x0 - 5;
        y0 = y0 - 5;
        x1 = x1 + 5;
/*
<script type=text/javascript></script> <script src="C程序开发经典实例之6 - C++Builder 研究 - http--www_ccrun_com.files/show_ads.js" type=text/javascript></script>
*/
        y1 = y1 + 5;
    }
    settextstyle(DEFAULT_FONT, HORIZ_DIR, 2);
    outtextxy(150, 40, "How beautiful it is!");
    line(130, 60, 480, 60);
    setcolor(2);
    circle(269, 269, 137);
}

【程序59】
题目:画图,综合例子。
1.程序分析:
2.程序源代码:
#define PAI 3.1415926
#define B 0.809
#include "graphics.h"
#include "math.h"
/* 欢迎访问 C++Builder研究 - www.ccrun.com */
main()
{
    int i, j, k, x0, y0, x, y, driver, mode;
    float a;
    driver = CGA; mode = CGAC0;
    initgraph(&driver, &mode, "");
    setcolor(3);
    setbkcolor(GREEN);
    x0 = 150; y0 = 100;
    circle(x0, y0, 10);
    circle(x0, y0, 20);
    circle(x0, y0, 50);
    for(i=0; i<16; i++)
    {
        a = (2 * PAI / 16) * i;
        x = ceil(x0 + 48 * cos(a));
        y = ceil(y0 + 48 * sin(a) * B);
        setcolor(2);
        line(x0, y0, x, y);
    }
    setcolor(3);
    circle(x0, y0, 60);
    /* Make 0 time normal size letters */
    settextstyle(DEFAULT_FONT, HORIZ_DIR, 0);
    outtextxy(10, 170, "press a key");
    getch();
    setfillstyle(HATCH_FILL, YELLOW);
    floodfill(202, 100, WHITE);
    getch();
    for(k=0; k<=500; k++)
    {
        setcolor(3);
        for(i=0; i<=16; i++)
        {
            a = (2 * PAI / 16) * i + (2 * PAI / 180) * k;
            x = ceil(x0 + 48 * cos(a));
            y = ceil(y0 + 48 + sin(a) * B);
            setcolor(2);
            line(x0, y0, x, y);
        }
        for(j=1; j<=50; j++)
        {
            a = (2 * PAI / 16) * i + (2 * PAI / 180) * k - 1;
            x = ceil(x0 + 48 * cos(a));
            y = ceil(y0 + 48 * sin(a) * B);
            line(x0, y0, x, y);
        }
    }
    restorecrtmode();
}

【程序60】
题目:画图,综合例子。 
1.程序分析:
2.程序源代码:
#include "graphics.h"
#define LEFT 0
#define TOP 0
#define RIGHT 639
#define BOTTOM 479
#define LINES 400
#define MAXCOLOR 15
main()
{
    int driver, mode, error;
    int x1, y1;
    int x2, y2;
    int dx1, dy1, dx2, dy2, i = 1;
    int count = 0;
    int color = 0;
    driver = VGA;
    mode = VGAHI;
    initgraph(&driver, &mode, "");
    x1 = x2 = y1 = y2 = 10;
    dx1 = dy1 = 2;
    dx2 = dy2 = 3;
    while(!kbhit())
    {
        line(x1, y1, x2, y2);
        x1 += dx1; y1 += dy1;
        x2 += dx2; y2 += dy2;
        if(x1 <= LEFT || x1 >= RIGHT)
            dx1 = -dx1;
        if(y1 <= TOP || y1 >= BOTTOM)
            dy1 = -dy1;
        if(x2 <= LEFT || x2 >= RIGHT)
            dx2 = -dx2;
        if(y2 <= TOP || y2 >= BOTTOM)
            dy2 = -dy2;
        if(++count > LINES)
        {
            setcolor(color);
            color = (color >= MAXCOLOR)? 0: ++color;
        }
    }
    closegraph();
}
Matlab示例源码30个合集: MATLAB DCT水印源程序代码.rar MATLAB GUI实现动态画图曲线的源程序代码.rar MATLAB中colorbar的设置 源程序代码.rar MATLAB中的基本语法和语句示例代码.rar MATLAB使用欧拉Euler法求解微分方程组 源程序代码.rar MATLAB光通过三稜镜色散动画.rar MATLAB图像处理实现直线识别(拟合角平分线).rar MATLAB图像处理实现螺纹识别 源程序代码.rar MATLAB夜间车牌识别程序.rar MATLAB实现不同插值方法的GUI界面设计 源程序代码.rar MATLAB实现偏微分方程的差分计算 源程序代码.rar MATLAB实现图像去噪 滤波 锐化 边缘检测.rar MATLAB实现学生成绩查询系统 源代码程序.rar MATLAB实现灰度预测模型的源代码.rar MATLAB实现线性拟合和相关系数 源程序代码.rar MATLAB寻找素数的源程序代码.rar MATLAB建模 人口增长模型 源程序代码.rar MATLAB文字连通域源程序代码.rar Matlab时间序列-AR.7z MATLAB求解非线性方程组 fsolve源程序代码.rar MATLAB生成Gif图片程序源代码.rar MATLAB绘制 维维安尼Viviani曲线 源代码程序.rar MATLAB计算粒子速度分布 源程序代码.rar MATLAB设计的简单滤波器程序源代码.rar MATLAB霍夫曼Huffman编码译码GUI界面设计 源程序代码.rar 基于仿射变换的数字图象置乱技术 MATLAB源程序代码.rar 拉格朗日插值 MATLAB源程序代码.rar 牛顿Newton插值 MATLAB源程序代码.rar 经典-matlab经典算法程序.7z 蒙特卡洛法求椭圆面积的MATLAB源程序代码.rar
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值