精华内容
下载资源
问答
  • 怎么打印固定的行
    2021-05-25 06:08:17

    WORD格式整理版

    学习指导参考

    用星号打印各种图形及参考答案

    【4.4】输入n值,输出如图所示矩形。

    【4.5】输入n值,输出如图所示平行四边形。

    【4.6】输入n值,输出如图所示高为n的等腰三角形。

    【4.7】输入n值,输出如图所示高为n的等腰三角形。

    【4.8】输入n值,输出如图所示高和上底均为n的等腰梯形。

    【4.9】输入n值,输出如图所示高和上底均为n的等腰空心梯形。

    【4.10】输入n值,输出如图所示边长为n的空心正六边型。

    【4.11】输入n值,输出如图所示图形。

    【4.12】输入n值,输出如图所示图形。

    【4.13】输入n值,输出如图所示图形。

    【4.14】输入n值,输出如图所示图形。

    【4.15】输入n值,输出如图所示图形。

    【4.16】输入n值,输出如图所示图形。(例为n=6时)

    【4.17】编写程序,输出如图所示sin(x) 函数0到2π的图形。

    【4.18】编写程序,在屏幕上输出一个由*号围成的空心圆。

    【4.19】编写程序,在屏幕上绘制如图余弦曲线和直线。若屏幕的横向为x轴,纵向为y轴, 在屏幕上显示0~360度的cos(x)曲线与直线x=f(y)=45*(y-1)+31的迭加图形。其中cos图形用"*"表示,f(y)用"+"表示,在两个图形的交点处则用f(y)图形的符号。

    ?【4.4】分析:打印此图形用两重循环实现。

    图形要重复n行,故采用循环结构实现循环n次,循环体内部打印一行'*'号,把上述思路表示为:

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

    打印一行'*'号;

    每行有n个'*'号,再采用循环结构实现n次循环,循环内部用格式输出语句打印一个'*'号,即:

    for(j=1;j<=n;j++)

    printf("*");

    按照上述思路,实现打印矩形。

    参考答案:

    main()

    { int i,j,n;

    printf("\nPlease Enter n:");

    scanf("%d",&n);

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

    { for(j=1;j<=n;j++)

    printf("*");

    printf("\n");

    }

    }

    【4.5】分析:此图形和上题的区别在于在每一行先要打印空格,然后再打印n个'*'号,在上题第一层循环体内打印'*'号的循环前面增加一个循环打印空格。每行空格的个数是逐行减少的,由于第一层循环的控制变量i是逐行增1,所以用一个固定值的数减去i就可实现对空格个数的控制,在此题中固定值可使用变量n。

    参考答案:

    main( )

    { int i,j,n;

    printf("\nPlease Enter n:");

    scanf("%d",&n);

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

    { for(j=1;j<=n-i;j++)

    printf(" ");

    for(j=1;j<=n;j++)

    printf("*");

    printf("\n");

    }

    }

    【4.6】分析:此题和上题的区别在于每行'*'的数量逐行减少,可以使用上题控制空格个数的思路来控制'*'号的个数,请注意每行'*'的个数都是奇数。

    参考答案:

    main( )

    { int i,j,n;

    printf("\nPlease Enter n:");

    scanf("%d",&n);

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

    { for(j=1;j<=n-i;j++)

    printf(" ");

    for(j=1;j<=2*i-1;j++)

    printf("*");

    printf("\n");

    }

    }

    【4.7】分析:此题图形是第3题图形的垂直反转,在编程上我们可以变换一个思路。对于图形中的第i行(1≤i≤n),共需要输出2n-i个字符,其中前面的i-1个字符为空格,后面的字符为'*'号。按照这一思路可以编写出如下程序。

    参考答案:

    main( )

    { int i,j,n;

    printf("\nPlease Enter n:");

    scanf("%d", &n);

    for( i=1;i<=n;i++ ) /* 重复输出图形的n行 */

    { for( j=1;j<=2*n-i;j++ ) /* 重复输出图形一行中的每个字符 */

    if(j<=i-1) printf(" "); /* 输出前面的空格 */

    else printf("*"); /* 输出后面的*号 */

    printf("\n");

    }

    }

    【4.8】分析:此题和第3题的区别仅是每行的'*'个数增加n-1个。

    参考答案:

    main( )

    { int i,j,n;

    printf("\nPlease Enter n:");

    scanf("%d",&n);

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

    { for(j=1;j<=n-i;j++)

    prin

    更多相关内容
  • 打印倒三角形————固定行数与键盘输入行数

    打印倒三角形

    一、固定行数—5行

    • 思路:将整个三角形分成三部分,图中已分别用1、2、3标明。代码中要使用3个for循环,第一个for循环打印内容以“空格”形式展示,即左边的直角三角形区域,第二个for循环和第三个for循环的打印内容以“*”展示,其中第二个for循环打印出的是中间的直角三角形,第三个for循环打印出的是右边的小直角三角形。
      在这里插入图片描述
    package com.jacyzhu.struct;
    
    public class TestDemo03 {
        public static void main(String[] args) {
            // 打印倒三角形——5行
            for (int i = 1; i <= 5; i++) {
                for (int j = 1; j <= i; j++){
                    System.out.print(" ");
                }
                for (int j = 5; j >= i; j--){
                    System.out.print("*");
                }
                for (int j = 5; j > i; j--) {
                    System.out.print("*");
                }
                System.out.println();
            }
        }
    }
    
    运行结果:
     *********
      *******
       *****
        ***
         *
    

    二、键盘输入行数

    package com.jacyzhu.struct;
    
    import java.util.Scanner;
    
    public class TestDemo04 {
        public static void main(String[] args) {
            // 打印倒三角形
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入要打印的行数:");
            int n = scanner.nextInt();
            for (int i = 1; i <= n; i++) {
                for (int j = 1; j <= i; j++){
                    System.out.print(" ");
                }
                for (int j = n; j >= i; j--){
                    System.out.print("*");
                }
                for (int j = n; j > i; j--) {
                    System.out.print("*");
                }
                System.out.println();
            }
        }
    }
    
    运行结果1:
    请输入要打印的行数:
    8
     ***************
      *************
       ***********
        *********
         *******
          *****
           ***
            *
    
    运行结果2:
    请输入要打印的行数:
    9
     *****************
      ***************
       *************
        ***********
         *********
          *******
           *****
            ***
             *
    
    
    展开全文
  • 方法一:将菱形的打印分解为打印每一行,再分解为打印两个的行和一个的行,在分解为打印空格和打印即可。 方法二:利用的对称性,如果只有一个*号则记两次,则每行星号之和是一个固定的值。 方法一代码 public class...

    思路

    方法一:将菱形的打印分解为打印每一行,再分解为打印两个的行和一个的行,在分解为打印空格和打印即可。
    方法二:利用
    的对称性,如果只有一个*号则记两次,则每行星号之和是一个固定的值。

    方法一代码

    public class Test02 {
        public static void main(String[] args) {
            for(int i = 0; i < 3; i++)
                System.out.print(" ");
            System.out.println("*");
            for(int i = 3; i > 0; i--) {
                for (int j = 1; j < i; j++)
                    System.out.print(" ");
                System.out.print("*");
                for(int k = (4-i)*2-1; k > 0; k--)
                    System.out.print(" ");
                System.out.println("*");
    
            }
            for(int i = 1; i < 3; i++) {
                for(int j = 0; j < i; j++)
                    System.out.print(" ");
                System.out.print("*");
                for(int k = (3-i)*2-1; k > 0; k--)
                    System.out.print(" ");
                System.out.println("*");
            }
            for(int i = 0; i < 3; i++)
                System.out.print(" ");
            System.out.println("*");
        }
    }
    
    

    方法二代码

    在这里插入图片描述

    运行结果

       *
      * *
     *   *
    *     *
     *   *
      * *
       *
    

    总结

    第二种方法可以作为一个案例

    展开全文
  • Printer标准ES-POS命令打印固定IP或蓝牙打印,支持黑白图片打印预览 项目Github Bintray要求 minSdkVersion 5 <uses-permission android:name="android.permission.BLUETOOTH"

    Printer

    ICON

    标准ES-POS命令打印,固定IP或蓝牙打印,支持黑白图片打印

    预览

    Screenshots
    打印样例

    项目

    Github
    Bintray

    要求

    • minSdkVersion 5
    • <uses-permission android:name="android.permission.INTERNET" />
    • <uses-permission android:name="android.permission.BLUETOOTH" />

    引用

    dependencies {
        ⋯
        compile 'am.util:printer:2.0.0'
        ⋯
    }

    详情

    • 实现PrintDataMaker接口来实现打印任务
    • 继承PrinterWriter来实现更多纸张类型的打印
    • PrinterUtils包含了众多打印指令

    使用

    1.添加蓝牙权限<uses-permission android:name="android.permission.BLUETOOTH" />或者网络请求权限<uses-permission android:name="android.permission.INTERNET" />

    2.实现PrintDataMaker接口,完成具体打印任务:

    public class TestPrintDataMaker implements PrintDataMaker {
    
        private Context context;
        private String qr;
        private int width;
        private int height;
    
        public TestPrintDataMaker(Context context, String qr, int width, int height) {
            this.context = context;
            this.qr = qr;
            this.width = width;
            this.height = height;
        }
    
        @Override
        public List<byte[]> getPrintData(int type) {
            ArrayList<byte[]> data = new ArrayList<>();
            try {
                PrinterWriter printer;
                printer = type == PrinterWriter58mm.TYPE_58 ? new PrinterWriter58mm(height, width) : new PrinterWriter80mm(height, width);
                printer.setAlignCenter();
                data.add(printer.getDataAndReset());
    
                ArrayList<byte[]> image1 = printer.getImageByte(context.getResources(), R.drawable.ic_printer_logo);
                data.addAll(image1);
    
                printer.setAlignLeft();
                printer.printLine();
                printer.printLineFeed();
    
                printer.printLineFeed();
                printer.setAlignCenter();
                printer.setEmphasizedOn();
                printer.setFontSize(1);
                printer.print("我的餐厅");
                printer.printLineFeed();
                printer.setFontSize(0);
                printer.setEmphasizedOff();
                printer.printLineFeed();
    
                printer.print("最时尚的明星餐厅");
                printer.printLineFeed();
                printer.print("客服电话:400-8008800");
                printer.printLineFeed();
    
                printer.setAlignLeft();
                printer.printLineFeed();
    
                printer.print("订单号:88888888888888888");
                printer.printLineFeed();
    
                printer.print("预计送达:" +
                        new SimpleDateFormat("yyyy/MM/dd HH:mm", Locale.getDefault())
                                .format(new Date(System.currentTimeMillis())));
                printer.printLineFeed();
    
                printer.setEmphasizedOn();
                printer.print("#8(已付款)");
                printer.printLineFeed();
                printer.print("××区××路×××大厦××楼×××室");
                printer.printLineFeed();
                printer.setEmphasizedOff();
                printer.print("13843211234");
                printer.print("(张某某)");
                printer.printLineFeed();
                printer.print("备注:多加点辣椒,多加点香菜,多加点酸萝卜,多送点一次性手套");
                printer.printLineFeed();
    
                printer.printLine();
                printer.printLineFeed();
    
                printer.printInOneLine("星级美食(豪华套餐)×1", "¥88.88", 0);
                printer.printLineFeed();
                printer.printInOneLine("星级美食(限量套餐)×1", "¥888.88", 0);
                printer.printLineFeed();
                printer.printInOneLine("餐具×1", "¥0.00", 0);
                printer.printLineFeed();
                printer.printInOneLine("配送费", "免费", 0);
                printer.printLineFeed();
    
                printer.printLine();
                printer.printLineFeed();
    
                printer.setAlignRight();
                printer.print("合计:977.76");
                printer.printLineFeed();
                printer.printLineFeed();
    
                printer.setAlignCenter();
    
                data.add(printer.getDataAndReset());
    
                String bitmapPath = FileUtils.getExternalFilesDir(context, "Temp") + "tmp_qr.jpg";
                if (QRCodeUtil.createQRImage(qr, 380, 380, null, bitmapPath)) {
                    ArrayList<byte[]> image2 = printer.getImageByte(bitmapPath);
                    data.addAll(image2);
                } else {
                    ArrayList<byte[]> image2 = printer
                            .getImageByte(context.getResources(), R.drawable.ic_printer_qr);
                    data.addAll(image2);
                }
    
                printer.printLineFeed();
                printer.print("扫一扫,查看详情");
                printer.printLineFeed();
                printer.printLineFeed();
                printer.printLineFeed();
                printer.printLineFeed();
                printer.printLineFeed();
    
                printer.feedPaperCutPartial();
    
                data.add(printer.getDataAndClose());
                return data;
            } catch (Exception e) {
                return new ArrayList<>();
            }
        }
    }

    3.创建打印执行者:

    PrintExecutor executor = new PrintExecutor(String ip, int port, int type);
    PrintExecutor executor = new PrintExecutor(BluetoothDevice device, int type);

    4.设置执行者状态监听:

    executor.setOnStateChangedListener(new PrintSocketHolder.OnStateChangedListener() {
        @Override
        public void onStateChanged(int state) {
            switch (state) {
                case PrintSocketHolder.STATE_0:
                    //生成打印页面数据...
                    break;
                case PrintSocketHolder.STATE_1:
                    //生成数据成功,开始创建Socket连接...
                    break;
                case PrintSocketHolder.STATE_2:
                    //创建Socket成功,开始获取输出流...
                    break;
                case PrintSocketHolder.STATE_3:
                    //获取输出流成功,开始写入打印页面数据...
                    break;
                case PrintSocketHolder.STATE_4:
                    //写入打印页面数据成功,正在完成打印...
                    break;
            }
        }
    });

    4.设置执行者回调监听:

    executor.setOnPrintResultListener(new PrintExecutor.OnPrintResultListener() {
        @Override
        public void onResult(int errorCode) {
            switch (errorCode) {
                case PrintSocketHolder.ERROR_0:
                    //打印成功完成!
                    break;
                case PrintSocketHolder.ERROR_1:
                    //生成打印页面数据失败!
                    break;
                case PrintSocketHolder.ERROR_2:
                    //创建Socket失败!
                    break;
                case PrintSocketHolder.ERROR_3:
                    //获取输出流失败!
                    break;
                case PrintSocketHolder.ERROR_4:
                    //写入打印页面数据失败!
                    break;
                case PrintSocketHolder.ERROR_5:
                    //必要的参数不能为空!
                    break;
                case PrintSocketHolder.ERROR_6:
                    //关闭Socket出错
                    break;
                case PrintSocketHolder.ERROR_100:
                    //打印失败
                    break;
            }
        }
    });

    5.执行打印:

    int result = executor.doPrinterRequest(PrintDataMaker maker);//同步
    executor.doPrinterRequestAsync(PrintDataMaker maker);//异步

    如果你要实现自己的打印机PrinterWriter,那么你需要继承

    public class PrinterWriter80mm extends PrinterWriter {
    
        public static final int TYPE_80 = 80;// 纸宽80mm
        public int width = 500;
    
        public PrinterWriter80mm() throws IOException {
        }
    
        public PrinterWriter80mm(int parting) throws IOException {
            super(parting);
        }
    
        public PrinterWriter80mm(int parting, int width) throws IOException {
            super(parting);
            this.width = width;
        }
    
        @Override
        protected int getLineWidth() {
            //一行能够放下多少个“-”
            return 24;
        }
    
        @Override
        protected int getLineStringWidth(int textSize) {
            //根据字体的大小,一行可以放下多少个英文字符
            switch (textSize) {
                default:
                case 0:
                    return 47;
                case 1:
                    return 23;
            }
        }
    
        @Override
        protected int getDrawableMaxWidth() {
            //图片能够全部打印在纸上的最大宽度
            return width;
        }
    }

    注意

    • 打印图片出现乱码或者打印不出,大部分原因是打印机缓存较小导致,可调小PrinterWriter80mm的parting参数,设置其图片高度分割值(0~255),调小了还不行的话,缩小图片尺寸或者调整输出流的写入方式。
    • 仅提供建立蓝牙连接打印,不包括蓝牙搜索及配对功能
    • 不包含二维码生成功能

    历史

    展开全文
  • pdfmake用于纯JavaScript的服务器端和客户端...具有换行,文本对齐(左,右,居中,对齐),编号和项目符号列表,表格和列自动/固定/号宽度,列距和行跨度,在出现标题时自动重复标题的功能分页符,图像和矢量图形,
  • c语言打印矩形、三角形、菱形等图案及参考答案.doc用打印各种图形及参考答案【4.4】输入n值,输出如图所示矩形。【4.5】输入n值,输出如图所示平行四边形。【4.6】输入n值,输出如图所示高为n的等腰三角形。...
  • 打印输出金字塔

    千次阅读 2022-02-07 18:13:40
    java打印输出金字塔
  • 特征换行文字对齐方式(左,右,居中,对齐), 编号和项目符号列表, 表和列自动/固定/号宽度, 列跨度和行跨度, 标头会在出现分页符时自动重复, 图像和矢量图形, 方便的样式和样式继承, 页眉和页脚: 静态或...
  • 如果没有,除非列表是固定长度的,否则无法做到将特定迭代对象中的所有项作为单独的参数提交。 下面是另一个例子: 在这里,我们接受以列表为元素的列表,并返回 “转置”后的列表: **运算符执行类似的操作,但是...
  • 我正在编写一个简单的程序来用*(号)替换字符串中...我可以用号替换重复的字符,但是无法找到打印第一次出现的字符的方法.换句话说,我现在的输出是**** le.看看我的Python3代码:s = 'Google's = s.lower()for i ...
  • C++编程 打印三角形的各种玩法

    万次阅读 多人点赞 2019-09-02 23:31:05
    目录1. 指定五行直角三角形2. 由用户指定任意行的等腰三角形3.平行四边形式等腰三角形拆分4....  定义两个变量i和j,通过i来控制外层循环用于控制三角形的行数,通过j来控制内层循环完成每行固定星号的输出。 ...
  • 第十六节:while语句习题课下面就跟着老师一起来走进循环的“高阶”版本吧~循环嵌套按照数学老师的惯例,讲授新知识之前先来看一道例题:在控制台中打印如下图形:打印一个5*5的星星阵。有同学就会想到,写五个输出...
  • CODE 39是 Intermec公司在1975年研制成功的。包括数字、字母和一些符号在内,条形码共包括43个字符。由于可以处理字母,CODE 39在...39码的起始码和终止码为固定号“*”,即39码前后各有一个号“*”来标识条形
  • Java打印九九乘法表

    2022-05-06 12:22:54
    Java打印九九乘法表
  • 一、循环嵌套 ...【例 1】输出 5 个号并换行。 #include <iostream> using namespace std; int main() { for (int i = 0; i < 5; i++) { cout << "*"; } cout << endl; return 0; }
  • 39码的起始码和终止码为固定号“*”,即39码前后各有一个号“*”来标识条形码的开始和结束。下面我们就介绍如何设置这个起始码和终止码。  在软件中生成Code 39码时,点击条码按钮,在画布上绘制一个条形...
  • 用数据分析的手段,看2019年CSDN博客之总评选

    万次阅读 多人点赞 2020-01-15 15:41:35
    万众瞩目的CSDN博客之总评选投票活动渐入佳境,竞争趋于白热化。入选前200名的博主们火力全开,使出了浑身解数,通过各种渠道拉票。一时间,CSDN刷爆了各大自媒体。无论是吃瓜群众,还是摇旗呐喊、擂鼓助威的亲友...
  • 不是java很难,这明明就是数学计算题前言一、打印平行四边形二、打印正三角形三、打印...号是固定的 考虑如何使空格变化减少 代码如下(示例): for (int i = 0; i < 10; i++) { //控制每一行输出多少空格 for
  • WPF的打印功能是很强大而简便的,它甚至能够直接打印界面上的内容,包括各种控件的显示内容,例如你在界面上摆放了一个datagrid控件,画了一个五角,或写了一段文字,都可以直接打印出来,这里有一篇文章很简单...
  • 自己整理的C语言笔记

    2021-05-23 04:54:32
    6 动态存储方式与静态存储方式:静态存储指程序运行期间分配固定的存储空间的方式,而动态存储是根据需要动态分配管理的方式。全局变量存储在静态存储区,而静态局部变量亦是如此。使用static声明的全局变量表示其...
  • 先来段VB6的打印菱形Dim i As Integer For i = 1 To 9 If i &gt; 5 Then Print Space(i - 4); String(19 - 2 * i, "*") Else Print Space(6 - i); String(2 * i - 1, "*") End If Next...
  • ##需要输出四行*,有固定的循环次数我选择用for循环 #所有我设初始条件为i=1 #循环的结束条件 ##因为要输出四行,所以我设结束条件是i>5 #重复需要干什么 ##打印* #如何过渡到下一次循环 ##i+=1 n = 4 for i ...
  • 6、编辑调试运行XT.java,在一个程序中输出ppt62页上的21层塔。熟悉理解java程序的编辑编译运行,熟悉java程序关键字的书写,main主函数的固定格式书写。...* 打印星塔: * 号与换行的巧妙结合。 / static void ...
  • 由于要求隔一段时间执行一次任务,则我们可以想到使用定时器,先介绍下定时器两种常用的方法,最后再写下2秒打印1次,4秒打印1次,然后再2秒打印1次,4秒打印1次,如此循环往复 定时器第一种方法 代码 ...
  • 号三角形,平行四边形,符号金字塔,沙漏......其实发现每一行符号之间表面的规律并不困难,但其中隐藏的联系与具体如何去实现,却会让很多不能灵活运用循环语句的同学难以入手。这周就请和笔者一起,以清晰的思路...
  • for循环练习 一、使用for循环打印一个固定高度(高度为9)的金字塔 二、使用for循环打印一个高度可变的金字塔 三、使用for循环写出一个可以控制树冠高度的圣诞树 目标: 熟练使用for循环,并体会for循环的特点。...
  • 打印如下图形 实现代码 package bilibilitext; public class TU1 { public static void main(String[] args) { //行数j从1开始进行循环,因为每行的元素都和行数相关,所以将行数定义为外循环 for(int j = 1;...
  • 参数 以下是调用函数时可使用的正式参数类型: 必需参数 关键字参数 默认参数 不定长参数 ... "打印任何传入的字符串" print (str) return # 调用 printme 函数,不加参数会报错 printme()
  • 用for循环打印各种图案

    千次阅读 多人点赞 2021-10-30 18:57:39
    最近在做for循环的题目,有一些关于用for循环来打印的图案的练习个人觉得比较有意思,选一些有代表性的来分享自己的解法 这种题目一般主要框架就是for循环里面...这题很基础,每行打印的“*”固定,判断条件也比较好找

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,063
精华内容 4,425
热门标签
关键字:

怎么打印固定的行