c语言格式化输出,C格式化输出

c语言格式化输出,C格式化输出,C语言之格式化屏幕输出详解

本文主要介绍C语言中格式化屏幕输出的相关信息。有需要的朋友可以参考一下。边肖觉得这篇文章还不错,希望能帮到你。

目录

题目1:请打印出下面的图案。题目:根据以下三种形式编程输出99乘法表。摘要

在一些问题中,问题经常指定屏幕输出的格式。让我们以一种固定的格式编程并输出某些模式或表格。我们用下面三个例子来说明格式化屏幕输出的方法。

题目1:请打印输出以下图案。

当然,我们可以用最笨的方法直接根据标题风格输出暴力:

printf(' * \ n ');

printf(' * * * \ n ');

printf(' * * * * \ n ');

printf(' * * * * * * * * \ n ');

printf(' * * * * \ n ');

printf(' * * * \ n ');

printf(' * \ n ');

多无聊啊?你买不起吗?

如果题目要求可以改变输出钻石的大小,你不发吗?

仔细想想,这种打印格式的图案都很工整,当然还需要用到循环句。

首先,两层for循环跑不掉。最外层的for循环用于控制输出行数,最内层的for循环用于控制空格和' * '。刚开始最好自己画,分析一下图案的构成。

我们发现前四行中的“*”的数量是奇数递增的,而后四行中的“*”的数量是逐行递减的,所以我们只需要处理前四行的模式,稍微修改后三行就可以得到了。

我们先来看看空格和' * '与行数的定量关系:

行数

空白的

*

一个

一个

2

2

一个

0

……

……

……

n

N-n(N是增量行的总数)

2个n-1

很明显,现在问题变成了小学生找规律的问题,所以我们可以写下面的代码:

for(int n=1;n=4;N )//n是行数,4是总行数n。

{

for(int I=1;I=4-n;I )//输出“*”前的空格

{

printf(“”);

}

for(int I=1;I=2 * n-1;I )//输出' * '

{

printf(' * ');

}

printf(' \ n ');//输出一行后换行。

}

运行结果为:

说明我们的想法是对的!那么剩下的3行(N-1行)只需要稍微修改一下上面的代码。修改后,我们可以得到:

for(int n=1;n=4;N )//n是行数,4是增加的总行数n。

{

for(int I=1;I=4-n;I )//输出“*”前的空格

{

printf(“”);

}

for(int I=1;I=2 * n-1;I )//输出' * '

{

printf(' * ');

}

printf(' \ n ');//输出一行后换行。

}

for(int n=1;n=3;N )//n是行数,3是递减的总行数N-1。

{

for(int I=1;I=n;I )//输出“*”前的空格

{

printf(“”);

}

for(int I=1;I=7-2 * n;I )//Output' * ',7是递增行2*N-1中最后一行(第N行)的' * '个数。

{

printf(' * ');

}

printf(' \ n ');//输出一行后换行。

}

运行结果为:

耶!现在我们已经得到了我们想要的结果。然后随着菱形大小的变化,我们可以通过相应地改变n的大小来输出相应的图案。

题目2:分别按如下三种形式,编程输出九九乘法表。

同样,暴力的方法肯定是可以做出来的,这里就不赘述了。

首先,第一步是通过暴力手段输出99乘法表的表头:

printf(' 1 2 3 4 5 6 7 8 9 \ n ');

printf('------\ n ');

这三个表格应该是第一种格式,比较简单,因为它没有太多难以处理的空格。

事实上,我们只需要用一个两层循环,从1到9遍历99乘法表的行头和列头,相乘得到表中的每一个值(此处隐藏了行头)。(关于行和列的标题,我指的是下表中的这些数字):

123456789123456789

因此我们有:

for(int I=1;I=9;I )//行首递增。

{

for(int j=1;j=9;J )//列的标题递增。

{

printf('=',I * j);

}

printf(' \ n ');//在每个输出行后换行。

}

这样我们就能得到第一个表:

再来看第二个表:第二个表是左下三角,右上三角没有输出(或者输出是一个空格)。

寻找规律,不难发现,当一列的表头小于或等于一行的表头(j=i)时,就会输出数字。

所以我们可以在第一种情况下做一些修改:

for(int I=1;I=9;I )//行首递增。

{

for(int j=1;j=9;J )//列的标题递增。

{

如果(j=i)

{

printf('=',I * j);

}

}

printf(' \ n ');//在每个输出行后换行。

}

即可得到第二个表:

类似地,当列标题大于或等于行标题(j=i)时,第三个表输出数字,当列标题小于行标题(ji)时,输出空格。值得注意的是,因为我们使用了=,所以应该一次输出3个空格。在第一种情况下,进行了一点修改以获得以下代码:

for(int I=1;I=9;I )//行首递增。

{

for(int j=1;j=9;J )//列的标题递增。

{

如果(j=i)

{

printf('=',I * j);

}

其他

{

printf(“”);

}

}

printf(' \ n ');//在每个输出行后换行。

}

即可得到第三个表:

总结

本文到此为止。希望能帮到你,也希望你能多关注我们的更多内容!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用js实现数据格式化命令,使用js实现数据格式化的方法
  • 使用js实现数据格式化命令,使用js实现数据格式化的方法,使用js实现数据格式化
  • sql 时间格式化函数怎么用,sqlserver时间格式化函数
  • sql 时间格式化函数怎么用,sqlserver时间格式化函数,SQL 时间格式化函数
  • Linux磁盘格式化命令,linux格式化整个磁盘的命令
  • Linux磁盘格式化命令,linux格式化整个磁盘的命令,Linux磁盘格式化命令详解
  • js获取当前日期并格式化,js获取当前时间年月日并输出
  • js获取当前日期并格式化,js获取当前时间年月日并输出,JS获取当前时间的年月日时分秒及时间的格式化的方法
  • js格式化时间的方法是什么,js 格式化时间
  • js格式化时间的方法是什么,js 格式化时间,js格式化时间的方法
  • js格式化时间格式,js格式化时间字符串
  • js格式化时间格式,js格式化时间字符串,JS格式化时间的几种方法总结
  • js中时间格式化的几种方法有哪些,js中时间格式化的几种方法是什么
  • js中时间格式化的几种方法有哪些,js中时间格式化的几种方法是什么,js中时间格式化的几种方法
  • windows命令行格式化硬盘,格式化将清除磁盘中的所有文件
  • 留言与评论(共有 条评论)
       
    验证码: