初步体会数学在编程中的运用

来源:互联网 发布:双鱼玉佩 知乎 编辑:程序博客网 时间:2024/05/18 16:14

题目:

打印以下图案:


1、常规方法

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>  #include<stdlib.h>  int main(){int i, j = 0;//先打印上三角for (i = 1; i <= 7; i++){for (j = 1; j <= 7 - i; j++){printf(" ");//每行缩进}for (j = 1; j <= 2 * i - 1; j++){printf("*");//每行输出的“*”}printf("\n");}//再打下三角for (i = 6; i >0; i--){for (j = 1; j <= 7 - i; j++)//(7=i)即(6-i+1){printf(" ");}for (j = 1; j <= 2 * i - 1; j++){printf("*");}printf("\n");}system("pause");return 0;}

    运行结果:


2、融入数学思想的方法

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>  #include<stdlib.h>  int main(){int r = 0;printf("请输入r:>");scanf("%d", &r);int x, y = 0;for (y = 0; y <= 2 * r; y++){for (x = 0; x <= 2 * r; x++){if ((y <= x + r) && (y >= x - r) && (y >= -x + r) && (y <= -x + 3 * r)){printf("*");}else{printf(" ");}}printf("\n");}system("pause");return 0;}
    运行结果:

    在这种方法中,运用了y=x+r、y=x-r、y=-x+r、y=-x+3r四个函数,易知这四个函数在第一象限形成一个菱形,其外接正方形长为2r,此时令四条直线及其所围面积上输出“*”,其余方形内地方输出“ ”,便可得到需要输出的图案。


原创粉丝点击