c语言图案求图,C语言实现图

本文目录一览:

c语言,求输出一个圆的图形的程序

#include math.h

#include graphics.h /*预定义库函数*/

void circlePoint(int x,int y) /*八分法画圆程序*/

{

circle(320 x*20,240 y*20,3);

circle(320 y*20,240 x*20,3);

circle(320-y*20,240 x*20,3);

circle(320-x*20,240 y*20,3);

circle(320-x*20,240 y*20,3);

circle(320-x*20,240-y*20,3);

circle(320-y*20,240-x*20,3);

circle(320 y*20,240-x*20,3);

circle(320 x*20,240-y*20,3);

}

void MidBresenhamcircle(int r) /* 中点Bresenham算法画圆的程序 */

{

int x,y,d;

x=0;y=r;d=1-r; /* 计算初始值 */

while(xy)

{ circlePoint(x,y); /* 绘制点(x,y)及其在八分圆中的另外7个对称点 */

if(d0) d =2*x 3; /* 根据误差项d的判断,决定非最大位移方向上是走还是不走 */

else

{ d =2*(x-y) 5;

y–;

}

x ;

delay(900000);

} /* while */

}

main()

{

int i,j,r,graphmode,graphdriver;

detectgraph(graphdriver,graphmode);

initgraph(graphdriver,graphmode,” “);

printf(“中点Bresenhamcircle算法画圆的程序\n”); /*提示信息*/

printf(“注意 |r|=11”);

printf(“\n输入半径值 r:”);

scanf(“%d”,r);

printf(“按任意键显示图形…”);

getch();

cleardevice();

setbkcolor(BLACK);

for(i=20;i=620;i =20) /*使用双循环画点函数画出表格中的纵坐标*/

for(j=20;j=460;j )

putpixel(i,j,2);

for(j=20;j=460;j =20) /*使用双循环画点函数画出表格中的横坐标*/

for(i=20;i=620;i )

putpixel(i,j,2);

outtextxy(320,245,”0″); /*原点坐标*/

outtextxy(320-5*20,245,”-5″);circle(320-5*20,240,2); /*横坐标值*/

outtextxy(320 5*20,245,”5″);circle(320 5*20,240,2);

outtextxy(320-10*20,245,”-10″);circle(320-10*20,240,2);

outtextxy(320 10*20,245,”10″);circle(320 10*20,240,2);

outtextxy(320-15*20,245,”-15″);circle(320-15*20,240,2);

outtextxy(320 15*20,245,”15″);circle(320 15*20,240,2);

outtextxy(320,240-5*20,”-5″);circle(320,240-5*20,2); /*纵坐标值*/

outtextxy(320,240 5*20,”5″);circle(320,240 5*20,2);

outtextxy(320,240-10*20,”-10″);circle(320,240-10*20,2);

outtextxy(320,240 10*20,”10″);circle(320,240 10*20,2);

outtextxy(20,10,”The center of the circle is (0,0) “); /*坐标轴左上角显示提示信息*/

setcolor(RED); /*标记坐标轴*/

line(20,240,620,240); outtextxy(320 15*20,230,”X”);

line(320,20,320,460); outtextxy(330,20,”Y”);

setcolor(YELLOW);

MidBresenhamcircle(r);

setcolor(BLUE); /*绘制圆*/

circle(320,240,r*20);

setcolor(2);

getch();

closegraph();

}

C语言简单图形题

/*编写一程序P211.C实现以下功能

根据输入的n在屏幕上显示对应的以#组成的菱形图案。编程可用素材:printf(“Please input n: “)…。

程序的运行效果应类似地如图1和图2所示,图1中的1和图2中的5是从键盘输入的内容。

*/

#include stdio.h

int main(void)

{

int n, i=1, j, m,k=1;

printf(“Please input n: “);

scanf(“%d”, n);

do

{

for (j=i;j = n;j++)

{

printf(” “);

}

for (m=1;m = 2*i-1;m++)

{

printf(“#”);

}

printf(“\n”);

i++;

}while (i = n+1);

do

{

for (j=0;jk;j++)

{

printf(” “);

}

for (m=1;m = 2*n-1;m++)

{

printf(“#”);

}

printf(“\n”);

n–;k++;

}while (n);

return 0;

}

//德昂当同学的说法确实是你的错误所在,这就是你成功的一半了。

/*其实笔者建议你将上面的那个图抽象成为一个线性规划的问题:建立一个坐标系,之后提取出来更方便的数学关系式,例如上面的方程则是:| i-j |=n;和| i+j |n;之后将i,j分别当做两个行列变量进行解决。请作者予以尝试!*/

如何用C语言画基本图形

下面举一个用drawpoly()函数画箭头的例子。#include

#include

int main()

{

int gdriver, gmode, i;

int arw[16]={200,102,300,102,300,107,330,br/100,300,93,300,98,200,98,200,102};

gdriver=DETECT;

initgraph(gdriver, gmode, “c:\\caic\\bgi”);

setbkcolor(BLUE);

cleardevice();

setcolor(12); /*设置作图颜色*/

drawpoly(8, arw); /*画一箭头*/

getch();

closegraph();

return 0;

}

设定线型函数

在没有对线的特性进行设定之前,TURBO C 用其默认值,即一点宽的实线,但TURBO C 也提供了可以改变线型的函数。线型包括:宽度和形状。其中宽度只有两种选择:一点宽和三点宽。而线的形状则有五种。下面介绍有关线型的设置函数。

void far setlinestyle(intlinestyle,unsigned upattern,int thickness); 该函数用来设置线的有关信息,其中linestyle是线形状的规定,

见下表:

有关线的形状(linestyle)

━━━━━━━━━━━━━━━━━━━━━━━━━

符号常数 数值 含义

─────────────────────────

SOLID_LINE 0 实线

DOTTED_LINE 1 点线

CENTER_LINE 2 中心线

DASHED_LINE 3 点画线

USERBIT_LINE 4 用户定义线

━━━━━━━━━━━━━━━━━━━━━━━━━

有关线宽(thickness)

thickness是线的宽度,见下表。

━━━━━━━━━━━━━━━━━━━━━━━━━

符号常数 数值 含义

─────────────────────────

NORM_WIDTH 1 一点宽

THIC_WIDTH 3 三点宽

━━━━━━━━━━━━━━━━━━━━━━━━━

对于upattern,只有linestyle选USERBIT_LINE 时才有意义 (选其它线型,uppattern取0即可)。此进uppattern的16位二进制数的每一位代表一个象元,如果那位为1,则该象元打开,否则该象元关闭。 void far getlinesettings(struct linesettingstypefar *lineinfo);该函数将有关线的信息存放到由lineinfo 指向的结构中,表中linesettingstype的结构如下:

 struct linesettingstype

 {

 int linestyle;

 unsigned upattern;

 int thickness;

 }

用c语言求多种图形中任何一种图形的面积。

#include stdio.h

#include math.h

double trianglearea( float a, float b, float c );

double squarearea( float a, float b );

double roundarea( float r );

int main()

{

    int    index = 0;

    float  a, b, c, r;

    double S;

    

    while(1)

    {

        printf(“请输入图的类型,三角形请输入1,矩形请输入2,圆形请输入3。按0退出\n”);

        printf(“请输入图形序号:”);

        scanf(“%d”, index);

        

        if(index == 0)

            break;

        else if(index == 1)

        {

            printf(“输入三角形三边长:”);

            scanf(“%f %f %f”, a, b, c);

            S = trianglearea(a, b, c);

        }

        else if(index == 2)

        {

            printf(“输入矩形的长和宽:”);

            scanf(“%f %f”, a, b);

            S = squarearea(a, b);

        }

        else if(index == 3)

        {

            printf(“%输入圆形的半径:”);

            scanf(“%f”, r);

            S = roundarea(r);

        }

        else 

            ;

        printf(“所求面积为%lf\n\n”, S);

    }

    printf(“\nbye bye\n”);

    

    return 0;

}

double trianglearea( float a, float b, float c )

{

    double p = 0;

    

    if( !(a+bc  a+cb  b+ca) )

    {

        printf(“这三条边无法组成三角形。\n”);

        return 0;

    }

    p = (a+b+c) / 2;

    

    return sqrt(p*(p-a)*(p-b)*(p-c));

}

double squarearea( float a, float b )

{

    return a*b;

}

double roundarea( float r )

{

    return 3.14*r*r;

}

C语言输出一个菱形图案(有程序)

菱形,就是如下所示的图形,总行数与总列数相等:

写一个程序,根据用户输入的总行数,打印出菱形。

这个题目主要是找出规律,考察读者的逻辑思维。

你可以从第一行开始,遍历所有的列,也可以从第一列开始,遍历所有的行。

下面的程序从第一行开始,遍历所有的列。

设菱形的总行数为line,总列数为column,当前行为i,当前列为j。上半部分与下半部分的规律不一样,应该分开讨论。

我们着眼于星号(*),思考什么条件下输出星号,总结出如下的规律。

1) 对于上半部分(包括中间一行),当前行与当前列满足如下关系输出星号:

j=(column+1)/2-(i-1)     (column+1)/2-(i-1)为第i行最左边的星号

j=(column+1)/2+(i-1)    (column+1)/2+(i-1)为第i行最右边的星号

2) 对于下半部分,当前行与当前列满足如下关系输出星号:

j=(column+1)/2-(line-i)     (column+1)/2-(line-i)为第i行最左边的星号

j=(column+1)/2+(line-i)    (column+1)/2+(line-i)为第i行最右边的星号

不满足上述条件,则输出空格。

于是写出如下的代码:纯文本复制

#include stdio.h#include stdlib.hint main(){int line;  // 菱形总行数int column;  // 菱形总列数int i;  // 当前行int j;  // 当前列printf(“请输入菱形的行数(奇数):”);scanf(“%d”, line);if(line%2==0){  // 判断是否是奇数printf(“必须输入奇数!\n”);exit(1);}column = line;  // 总行数和总列数相同for(i=1; i=line; i++){  // 遍历所有行if(i(line+1)/2+1){  // 上半部分(包括中间一行)for(j=1; j=column; j++){  // 遍历上半部分的所有列if( (column+1)/2-(i-1)=j j=(column+1)/2+(i-1) ){printf(“*”);}else{printf(” “);}}}else{  // 下半部分for(j=1; j=column; j++){  // 遍历下半部分的所有列if( (column+1)/2-(line-i)=j j=(column+1)/2+(line-i) ){printf(“*”);}else{printf(” “);}}}printf(“\n”);}return 0;}

运行结果:请输入菱形的行数(奇数):11

*

***

*****

*******

*********

***********

*********

*******

*****

***

*

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/311378.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2025-01-05 13:23
下一篇 2025-01-05 13:23

相关推荐

  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29
  • Python按位运算符和C语言

    本文将从多个方面详细阐述Python按位运算符和C语言的相关内容,并给出相应的代码示例。 一、概述 Python是一种动态的、面向对象的编程语言,其按位运算符是用于按位操作的运算符…

    编程 2025-04-29
  • Python好看的图案代码

    Python是一门功能强大的编程语言,不仅适用于常规的软件开发,还可用于数据科学、人工智能等领域。除此之外,Python还在文本图形化方面拥有出色的表现。使用Python可以生成各…

    编程 2025-04-29
  • Python语言由荷兰人为中心的全能编程开发工程师

    Python语言是一种高级语言,很多编程开发工程师都喜欢使用Python语言进行开发。Python语言的创始人是荷兰人Guido van Rossum,他在1989年圣诞节期间开始…

    编程 2025-04-28
  • Python语言设计基础第2版PDF

    Python语言设计基础第2版PDF是一本介绍Python编程语言的经典教材。本篇文章将从多个方面对该教材进行详细的阐述和介绍。 一、基础知识 本教材中介绍了Python编程语言的…

    编程 2025-04-28
  • Python语言实现人名最多数统计

    本文将从几个方面详细介绍Python语言实现人名最多数统计的方法和应用。 一、Python实现人名最多数统计的基础 1、首先,我们需要了解Python语言的一些基础知识,如列表、字…

    编程 2025-04-28
  • Python作为中心语言,在编程中取代C语言的优势和挑战

    Python一直以其简单易懂的语法和高效的编码环境而著名。然而,它最近的发展趋势表明Python的使用范围已经从脚本语言扩展到了从Web应用到机器学习等广泛的开发领域。与此同时,C…

    编程 2025-04-28

发表回复

登录后才能评论