-
2021-05-24 13:58:01
C语言输出菱形
通过for循环语句进行遍历,打印总行数和总列数相等的菱形。
两种思维:
1.从第一行开始遍历所有列
2.从第一列开始遍历所有行程序是从第一行开始遍历所有列
打印上半部分当前行与当前列的关系:
(column+1)/2 - (i-1) <= j && j<= (column+1)/2 + (i-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行右边的星号打印下半部分当前行与当前列的关系:
(column+1)/2-(line-i)<=j && j<=(column+1)/2+(line-i)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.h> int 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"); } system("pause"); }
更多相关内容 -
C语言printf“()”真的会将输出发送到屏幕吗?
2021-05-19 19:53:51printf函数是C语言的标准函数库中的一个输出函数,它的功能就是表面上把数据输出到屏幕中。这里要注意一下,我提到了一个词是“表面”!看似好像C语言的printf函数把数据输出到屏幕上显示出来,其实printf函数是把...printf函数是C语言的标准函数库中的一个输出函数,它的功能就是表面上把数据输出到屏幕中。这里要注意一下,我提到了一个词是“表面”!看似好像C语言的printf函数把数据输出到屏幕上显示出来,其实printf函数是把数据输出给一个“流”,这个流叫做“stdout”,而不是真的直接输出到屏幕。是不是有点意思?下面看我详细讲来!
一、计算机的输出设备
计算机有很多的输出设备,我们最常见的就是显示器,也就是常说的“屏幕”。但是计算机的输出设备可远远不止显示器这个屏幕。还有一些输出设备,比如:打印机。你办公的电脑和你学习的电脑一般都会连接着一台打印机吧,此时打印机就算是一个输出设备;
音箱。电脑内置的音箱毕竟性能有限,不足以播出优美的歌声。有的音乐发烧友会使用电脑外带一组音箱,通过更专业的音箱来享受较好的音乐效果,这里的音箱也是输出设备。
U盘、硬盘等。你常用的U盘等接在电脑的USB接口上,只要向U盘拷贝数据,此时U盘也是输出设备。
一台计算机可以外接这么多的输出设备,但是C程序代码中的printf函数可不知道有这么多的外接设备,它是怎么向外输出数据的呢?
二、stdout流
既然计算机外接了这么多的输出设备,C语言的printf函数显然不可能直接跟显示器、跟打印机、跟音箱打交道,聪明的程序设计者想出了一个方法:把所有的这些外接的输出设备全部用一个叫做“stdout流”的东西统一表示。说白了,就是在C程序和具体的输出设备之间多了一个stdout流。
对于C程序而言,C程序的printf函数只把数据输出到stdout流,再由操作系统把数据从这个stdout流中拿出给到具体的输出设备。比如如下这段C程序代码:
如果直接编译运行,C程序代码会将字符串'1234"输出到stdout流,再由操作系统将字符串“1234”送到显示器上显示。
如果我用一个重定向操作符,就像这样:
那么C程序代码还是会将字符串“1234”输出到stdout流,此时操作系统会将字符串“1234”送到一个文本文件“1.txt”中了。当你打开这个文本文件,你会发现其中的内容就是“1234”。
所以,C语言中的printf函数并不是将输出直接输出到显示器屏幕,而是输出到一个叫做stdout的流中,这个stdout流如果代表了显示器,那么printf函数就输出到显示器屏幕;如果代表了其他的输出设备,printf函数就输出到其他的输出设备上。你明白了吗?
-
C语言输出printf
2021-05-19 09:37:21C语言输出printf教程在在我们使用 printf 函数时,格式占位符的格式个数一定要与后面的需要输出的变量或者字面量的个数匹配,否则程序报错。printf函数详解语法int printf(const char *format, ...);参数参数描述...C语言输出printf教程
在
在我们使用 printf 函数时,格式占位符的格式个数一定要与后面的需要输出的变量或者字面量的个数匹配,否则程序报错。
printf函数详解
语法
int printf(const char *format, ...);
参数
参数
描述
format
输出的格式符。
返回值
返回要输出字符串的字符数(包括空格和换行符)。
printf函数输出控制符
控制符
说明
%d
按十进制整型数据的实际长度输出。
%ld
输出长整型数据。
%md
m 为指定的输出字段的宽度。如果数据的位数小于 m,则左端补以空格,若大于 m,则按实际位数输出。
%u
输出无符号整型(unsigned)。输出无符号整型时也可以用 %d,这时是将无符号转换成有符号数,然后输出。但编程的时候最好不要这么写,因为这样要进行一次转换,使 CPU 多做一次无用功。
%c
用来输出一个字符。
%f
用来输出实数,包括单精度和双精度,以小数形式输出。不指定字段宽度,由系统自动指定,整数部分全部输出,小数部分输出 6 位,超过 6 位的四舍五入。
%.mf
输出实数时小数点后保留 m 位,注意 m 前面有个点。
%o
以八进制整数形式输出,这个就用得很少了,了解一下就行了。
%s
用来输出字符串。用 %s 输出字符串同前面直接输出字符串是一样的。但是此时要先定义字符数组或字符指针存储或指向字符串,这个稍后再讲。
%x(或 %X 或 %#x 或 %#X)
以十六进制形式输出整数,这个很重要。
案例
使用printf输出字符串
使用 printf 输出字符串
#include
int main(long argc, char **argv){
printf("嗨客网(www.haicoder.net)\n");
printf("Hello HaiCoder");
}
程序运行,结果如下:
如果,我们需要输出一个字符串,那么我们可以直接使用 printf 函数,而不使用格式化占位符。
使用printf输出整数
使用 printf 输出整数
#include
int main(long argc, char **argv){
printf("嗨客网(www.haicoder.net)\n");
printf(1024);
}
程序运行,结果如下:
我们直接使用 printf 输出了一个 int 类型的数字,此时,我们可以看到我们的程序异常了,因为,处理字符串之外的输出,我们必须使用格式占位符,我们修改程序如下:
#include
int main(long argc, char **argv){
printf("嗨客网(www.haicoder.net)\n");
printf("num = %d\n", 1024);
}
程序运行,结果如下:
因为,我们输出的是整数,因此,我们这里的格式占位符使用的是 %d,此时,我们看到,我们正确输出了整数。
使用printf输出
使用 printf 格式化输出
#include
int main(long argc, char **argv){
printf("嗨客网(www.haicoder.net)\n");
int age = 18;
printf("I am %d years old, i love %s, and i study %s from haicoder", age, "C", "C and Python");
}
程序运行,结果如下:
我们使用 printf 输出了一个字符串,第一个因为,我们输出的是整数,因此其格式占位符为 %d,后面我们输出的是两个字符串,因此,其格式占位符都是 %s。
C语言输出printf总结
在 C 语言中我们需要将一个变量或者是特定的字符串、数字等任意的数据类型输出到屏幕,我们可以使用 printf 函数。
在我们使用 printf 函数时,格式占位符的格式个数一定要与后面的需要输出的变量或者字面量的个数匹配,否则程序报错。
-
C语言实现星星塔问题——用C语言在屏幕上输出以下图案
2021-11-22 14:44:09C语言基础题目讲解星星塔问题:打印出如下图形
方法1:直接利用printf输入空格和*,打印出星星塔,这里不做讲解。
方法2:利用循环打印出星星塔。
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int i = 0;//i用来控制每一行中空格和星号的打印个数 int j = 0;//j用来控制打印行数 int a = 6;//a用来控制上半部分每一行打印的空格个数 int b = 1;//b用来控制下半部分每一行打印的空格个数 //先打印每一行的空格. //再打印每一行的星号. for (j=1;j<=7;j++)//一共循环7次,打印前7行. { //打印一行中的空格 for (i = 1; i <= a; i++) { printf(" "); } //打印同一行中的星号 for (i = 1; i <= 2*j - 1; i++) { printf("*"); } a--;//打印完一行准备打印下一行,每一行空格比上一行少一个,所以减一. printf("\n");//打印完一行,换行打印下一行. } //打印完成上半部分 //准备打印下半部分 //上半部分打印的7行包括中间全是星星的一行,所以下半部分打印比上半部分少一行 for (j = 6; j >= 1; j--) { //打印一行中的空格 for (i = 1; i <= b; i++) { printf(" "); } //打印一行中的星号 for (i = 1; i <= 2*j - 1; i++) { printf("*"); } b++;//打印完一行准备打印下一行,每一行空格比前一行多一个,所以加一 printf("\n");//打印完一行,换行打印下一行. } return 0; }
-
C语言——在屏幕上打印杨辉三角形
2022-02-12 11:19:18在屏幕上打印杨辉三角。 1 1 1 1 2 1 1 3 3 1 最底下有整个程序的代码。 参考了这两篇大佬的文章: C语言打印杨辉三角的多种方法_quchen528的博客-CSDN博客_打印杨辉三角 【C语言】输出杨辉三角形 - 杨辉等腰三角形... -
C语言入门5-键盘的输入和屏幕输出
2021-05-19 08:11:34C程序中的键盘输入和屏幕输出都是通过 调用输入/输出函数 实现的。一、数据的格式化 屏幕输出函数printf()的一般格式(有两种)(1)第一种:printf(格式控制字符串);printf ( “请输入a的值” );(2)第二种printf(格式... -
C语言编程 在屏幕上打印五行*号,每行分别为5个,30个,10个,28个,16个。
2021-05-20 11:06:10C语言输出如题所示图案的代码如下:#includeint main( ){int x;int i,j,k;{for(j=0;j<2*i-1;j++)printf("*");printf("\n");}for(i=k-1;i>=1;i--)扩展资料:C语言的注释符一般分为两种,一种是以“/*”开头,在... -
C语言直接输出一句话(或英文字符)
2021-09-17 19:17:22本题就请你直接在屏幕上输出这句话。 输入格式: 本题没有输入。 输出格式: 在一行中输出To iterate is human, to recurse divine.。 输入样例: 无 结尾无空行 输出样例: To iterate is human, to ... -
C语言的键盘输入和屏幕输出
2019-06-10 10:14:29键盘输入和屏幕输出是编写简单的顺序结构程序时最常用到的操作。C程序中的键盘输入和屏幕输出都是通过调用输入/输出函数实现的。本章介绍常用的输入/输出函数。 一、单个字符的输入/输出 1.字符常量 C语言中的字符... -
C语言输入和输出
2019-07-31 11:00:43数据输入 编写程序的主要目的是为了处理数据,但是,数据从哪里来?... 在C语言中,有三个函数可以从键盘获得用户输入。 getchar 用于输入单个字符。 gets 获取一行数据,并作为字符串处理。 ... -
C语言程序实例>C语言实现菱形输出
2021-01-11 14:25:52这一问题无论是在C语言还是别的编程语言的入门学习中都会遇到,还是比较 一、菱形 我们先要看一下我们要输出的菱形是什么样子的。这里举一个例子简单说明一下: ... -
C语言星号输出
2021-05-18 13:03:20// 这里光标在要删除的字符上面闪烁,输出一个空格就将'*'号换掉了 // 想象一下你正在Word中插入模式下按下空格 putchar( ' ' ); // 因为你的空格操作导致光标又跳到了下一个字符位置 // 所以还需要退一次,以使光标... -
C语言字符串输出
2021-05-19 18:31:06在采用字符串方式后,字符数组的输入输出将变得简单方便。除了上述用字符串赋初值的办法外,还可用scanf函数和printf函数一次性输入输出一个字符数组中的字符串,而不必使用循环语句逐个输入输出每个字符。要输出一... -
在屏幕上输出一行英文字符串(带空格),然后提示用户原样输出这行字符串,并给出用户输入的正确率和输入...
2022-03-18 17:07:28//学习记录 #include<stdio.h> #include<string.h> int main() { char a[100],b[100],c[100]={0},d[100]={0},e[100]={0};... int k,i=0,j=0,count=0;... printf("系统输入一段字符串:");... -
C语言输出一个菱形图案,最优方案,不需要分上下两部分输出
2018-03-31 20:56:59题目如下:在屏幕上输出以下图案: 拿到这个题,首先可以想到的就是使用两个for循环先把上半部分打印出来,然后倒着打印一遍。观察这个图形可以发现上下是对称的,外层for控制行数,必不可少,那个能不能在内层for... -
C语言学习:c语言简单的输入和输出(四)
2021-10-29 17:47:12文章目录一、数据输入二、数据输出三、使用1.printf()2....在C语言中,有三个函数可以把数据输出到屏幕。 putchar:输出单个字符。 puts:输出字符串。 printf:格式化输出函数,可输出常量、变量等。 三、使用 1.pri -
C语言基础知识(二)-输入、输出以及运算符
2021-07-16 14:51:37本文是C语言的基础知识,主要讲解输入、输出以及运算符。 -
C语言 将字符串逆序输出的实例
2021-05-18 11:21:12将字符串逆序输出:我先说一个我的错误代码,一开始真的不知道哪里错了,但是当时的想法是自以为是可以的,大家可以先看看我的错误代码这个代码是错误的,正确的在最下方,不要急,我只是展示一下自己的错误,哈哈#... -
(整理)关于C语言中的输入和输出函数的一些运用
2021-05-21 16:35:54关于C语言中的输入和输出函数,本人总结了下:如下,如果又什么错误请指出,中间有几个时转别人的(在这里说明下)printf函数:printf是标准输出流的输出函数,用来向屏幕这样的标准输出设备输出,这个用说了;... -
C语言的输入与输出
2020-11-09 08:40:40在C语言中,有三个函数可以把数据输出到屏幕 putchar()用于输出单个字符 puts()输出字符串 printf()最灵活、最复杂、最常用的输出函数 现代化的建议 C语言曾是几十年前最常用的语言,在过去个人电脑不流行时,很... -
C语言 基本输入输出函数
2016-11-03 15:07:571 几组常见的输入输出函数在stdio.h头文件中内置了几种输入输出函数,如下列出: printf 与 scanf getchar 与 putchar gets 与 puts 相比之下 printf 与 scanf的功能最为强大,但操作稍显复杂,后两种则功能简单,... -
C语言实现按照比特位的数组在目标空间靠左靠右及其中间居中
2021-05-21 10:03:18C语言实现按照比特位的数组在目标空间靠左靠右及其中间居中来源:互联网作者:佚名时间:2015-04-28 16:25在LED行业中,一般一个灯亮或者不亮用一个bit位来表示(这里就不谈七彩或者灰度控制卡),现在加入我们屏幕... -
C语言实现魔方阵算法(幻方阵 奇魔方 单偶魔方实现)
2020-12-31 23:42:11数字1位于方阵中的第一行中间一列;数字a(1 < a ≤ n2)所在行数比a-1行数少1,若a-1的行数为1,则a的行数为n;数字a(1 < a ≤ n2)所在列数比a-1列数大1,若a-1的列数为n,则a的列数为1;如果a-1是n的... -
C语言学习:数据的输入输出
2021-05-21 01:31:28(2)C语言本身不提供输入输出语句。输入和输出操作是由C标准函数库。(3)C语言中提供的标准输入输出库:#include < stdio.h >#include "stdio.h"用< >这个时候,编译系统从存放C编译系统的子目录中去寻找... -
c语言循环输出图案*方法 笨人必看
2019-06-22 18:56:441.在屏幕上输出以下图案: * *** ***** ******* ********* *********** ************* *********** ********* ******* ***** *** * 分析 首先得确定输出的图案有没有规律,很明显看出来是... -
编写第一个C语言程序 - Hello World
2021-06-30 03:31:29前言前面已经唠叨了这么多理论知识,从这讲开始,就要通过接触代码来学习C语言的语法。学习任何一门语言,首先要掌握的肯定是语法。学习C语言语法的目的:就是能够利用C语言编写程序,然后运行程序跟硬件(计算机、... -
c中怎么输出数组的值
2021-05-22 12:36:57在许多场合,使用数组可以缩短和简化程序,因为可以利用索引值设计一个循环,高效处理多种情况。数组有上界和下界,数组的元素在上下界内是连续的。因为 Visual Basic对每一个索引值都分配空间,所以不要不切实际... -
C语言中常用的输入和输出函数
2021-05-20 14:24:50C语言中常用的输入和输出函数2020年03月11日|萬仟网IT编程 |我要评论1. scanf()函数 (Scan Format) + 函数原型: + 函数作用:从标准输入流 stdin (标准输入设备,一般指向键盘)读取输入,并根据提供的 format 来...