c语言题目训练一

一、题目:

描述
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“”组成的X形图案。
输入描述:
多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。
输出描述:
针对每行输入,输出用“
”组成的X形图案。

二、分析问题

首先,可以从这里看KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的X形图案。 通过分析知道要想打印x形图案就会用到循环。这是主要的思路。然后,就是想**怎么实现这个循环?**接下来,开始分析。如下:

分析流程图
在这里插入图片描述
上述只是一个大的分析怎么编写程序的框架,同时,提供了信息的获取。

三、代码的编写

#include<stdio.h> //头文件
int main() //主函数,用来编写循环体
{
	//涉及的一些变量
	int j = 0;//此处用j等于0是初始化,以免在运行时,产生其他的值
	int i = 0;
    int c = 0;
	char b[20] = { '*' };//这个是数组的初始化
	while (scanf("%d", &c) != EOF)//此处循环是题目描述的多组输入,及可以同时多个输入数据。
	{
		if (c >= 2 && c <= 20)//一个判断输入数据的范围,若超过输入数据的范围则会跳出循环。
		{
			for (j = 0;j < c;j++)//产生星号的行数
			{

				for (i = 0;i < c;i++)//代表一行有多少个星号
				{

				if (j == i || (j + i == (c - 1)))//通过判断,来选择保留所要的星号
					{
						b[i] = '*';
						printf("%c", b[i]);
					}
					else//与第二个if相关联
					{
						b[i] = ' ';
						printf("%c", b[i]);
					}
				}
				printf("\n");//用来实现断行
			}

		}
		else//与第一个if关联,不满足if条件则会跳出循环
		{
			break;
		}
	}

	return 0;
}

第四、出现问题及解决问题

上面主要问题在于多组输入的理解,循环的用法,以及怎么通过不一样的手段去处理。
解决方法:1.在while循环中的条件里面加个scanf(“%d”,&b[i])!=EOF,可以实现多组输入。其中,EOF指EOF是end of file的缩写,表示”文字流”(stream)的结尾。这里的”文字流”,可以是文件(file),也可以是标准输入(stdin)。
EOF不是特殊字符,而是一个定义在头文件stdio.h的常量,一般等于-1。#define EOF (-1)
除了表示文件结尾,EOF还可以表示标准输入的结尾。但是,标准输入与文件不一样,无法事先知道输入的长度,必须手动输入一个字符,表示到达EOF。
2.当行数进行循环时他只会在一行,不会进行换行。这时可以在这个for循环下加入printf(“\n”)。如下图所示:
在这里插入图片描述
在这里插入图片描述
3.怎么将自己想要的留下,不要的用空格代替。其实在用for循环的嵌套就像是一个二维数组。有行和列。通过他们之间的关系结合if的条件就可以打印自己想要的。

五、自我感受

通过编写程序最大的想法就是思维和逻辑,要想编好一个程序就需要去锻炼自己的逻辑,调动大脑,一开始的编写可以从最简单开始。毕竟,许多程序都是一点点编出来的。可以换句话,就是说,一个大模块也是由一个小模块来分析。当然,得把基础知识学会,比如if,for,while,这些基本语句。在编写之前要学会分析问题,通过分析问题一步步解决和编写程序,得到自己想要的。

相关推荐

  1. C语言经典面试题目(十

    2024-04-28 16:44:02       21 阅读
  2. 题目 1155: C语言训练-阶乘和数*

    2024-04-28 16:44:02       29 阅读
  3. 题目 1124: C语言训练-大、小写问题

    2024-04-28 16:44:02       21 阅读
  4. C语言题目

    2024-04-28 16:44:02       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-28 16:44:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-28 16:44:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-28 16:44:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-28 16:44:02       20 阅读

热门阅读

  1. Go语言结构体

    2024-04-28 16:44:02       9 阅读
  2. go 映射(Map)使用注意事项

    2024-04-28 16:44:02       12 阅读
  3. 【MySQL】——用户和权限管理(一)

    2024-04-28 16:44:02       9 阅读
  4. 「PHP系列」PHP 发送电子邮件详解

    2024-04-28 16:44:02       15 阅读
  5. uniapp 基础阿里云点播 使用

    2024-04-28 16:44:02       12 阅读
  6. Es6和Es5的区别?

    2024-04-28 16:44:02       11 阅读
  7. php 手机号加星号

    2024-04-28 16:44:02       11 阅读
  8. 什么是CDA数据分析师认证考试?

    2024-04-28 16:44:02       27 阅读
  9. springboot中多线程问题的优化和处理

    2024-04-28 16:44:02       12 阅读