码迷,mamicode.com
首页 > 编程语言 > 详细

C语言博客作业--数据类型

时间:2017-11-27 00:05:18      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:提示   判断语句   img   循环输出   矩阵转置   1.2   div   循环条件   getch   

一、PTA实验作业

题目1:7-4 打印菱形图案

1. 本题PTA提交列表

技术分享图片

2. 设计思路


定义变量n表示菱形高度,i,j,k分别控制循环
for i=1 to n/2+1
打出上三角的*号 
    for j=1 to (n-1)-2*(i-1) 
      输出空格
    for k=1 to 1+2*(i-1)
      输出*号
    每递增一次i换一次行 
      
for i=1 to n/2  
打出下三角的*号
    for j=1 to 2*i
       输出空格
    for k=1 to (n-2)-2*(i-1)
        输出*号
     每递增一次i换一次行 

3.代码截图

技术分享图片

4.本题调试过程碰到问题及PTA提交列表情况说明。

  • 在找每行号前的空格数时遇到问题 解决办法:把每行的行数,输出号数,空格数写出来,慢慢找规律,发现上三角的规律是空格数=高度-2行数+1 ;下三角的规律是空格数=2行数(从下三角第一行开始的行数)
  • 输出最后一行后多一行 解决办法:在下三角的换行条件前加一行判断语句,若下三角的行数已经等于高度的一半直接打破循环语句

题目2:7-6 掉入陷阱的数字

1. 本题PTA提交列表

技术分享图片

2. 设计思路


int trap(int n); //函数声明
主函数:
定义number表示输入的数,i来控制循环
输入数字number
for i=1 to  到一个数字和它的产生的新数相等时停止
    调用函数输出要求的格式内容(i:trap(number)) 
    将number赋值为它的陷阱新数trap(number)
    
int trap(int n) //该函数返回陷阱新数N
定义a统计数位,i控制循环 ,N为新数 ,b于n等值用来统计位数 
for a=1 to  b!=0
     b/=10
      
for i=1 to a //算新数 
    将其各位数字相加求和,再将其和乘以3后加上1 ,求出新数N
返回N 

3.代码截图

技术分享图片

4.本题调试过程碰到问题及PTA提交列表情况说明。

  • 没有任何输出(没有进循环)解决办法:发现是循环条件弄成新老数相等时结束
  • 输出到第二个数就错了 解决办法:在trap函数的统计数位那一个循环后面加了输出位数,发现位数都是统计错的,然后看了一下循环结束条件,原来是条件写成b==0了应该是b!=0
  • 发现程序不能输出两个相等的数,也就是第三个数和第四个数相等,但是只输出了第三个数,而题目的例子应该是输出第三个和第四个数字 解决办法:我将主函数中的循环输出的结束条件放在了输出之后就实现了

题目1:7-10 简单计算器

1. 本题PTA提交列表

技术分享图片

2. 设计思路


定义number1 表示第一个数 number2表示后面的数 op表示符号位
输入number1
for to op=getchar()!= ‘=’ 
     输入number2
     如果分母为0时输出错误提示 
     如果输入符号为+ 计算 total=number1+number2
     如果输入符号为- 计算 total=number1-number2
     如果输入符号为* 计算 total=number1*number2
     如果输入符号为/ 计算 total=number1/number2
     如果输入其他符号输出错误提示
     最后number1=total 再进行下一轮计算
输出number1 

3.代码截图

技术分享图片

4.本题调试过程碰到问题及PTA提交列表情况说明。

  • 刚刚开始不知道该把输入字符数据的那个放在个位置才好 解决办法:询问同学,同学告诉我把它放在循环条件里,同时判断它是否等于‘=’就可以实现循环
  • 在部分错误中,只有出现错误提示的条件正确,其他的答案错误 解决办法:在最后把total的值赋给number1继续进行下一轮

二、截图本周题目集的PTA最后排名。

技术分享图片

三、本周学习总结

1.你学会了什么?

1.1 一维数组如何定义、初始化?

1.2 一维数组在内存中结构?可画图说明。数组名表示什么?

1.3 为什么用数组?

1.4 介绍选择法、冒泡法、直接插入排序如何排序?伪代码展示

1.5 介绍什么是二分查找法?它和顺序查找法区别?

1.6 二维数组如何定义、初始化?

1.7 矩阵转置怎么实现?方阵中:下三角、上三角、对称矩阵的行标i列标j的关系?请说明。

1.8 二维数组一般应用在哪里?

2.本周的内容,你还不会什么?

C语言博客作业--数据类型

标签:提示   判断语句   img   循环输出   矩阵转置   1.2   div   循环条件   getch   

原文地址:http://www.cnblogs.com/Littleweii/p/7900338.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!