10月31日 星期一

第一次使用博客  不知道到底用来干嘛的???


今天看的关于gcc的一些命令:

1.rmdir可以删除一个文件夹, rm可以删除文件,rm -r 可以删除文件夹 采用递归删除;(rm删除文件,不能恢复)

2.tree +文件夹名称  显示文件的树状图;

3.cat   touch均可建立文件 ,cat>文件名称(之前存在就覆盖为空) cat>>向文件加入内容    touch+文件名称,存在修改时间,不存在就建立新的文件   文件的建立时间(属性值里面的)为当前时间

4.mv -b 移动文件提示是否覆盖,选择no文档不覆盖  但也不在之前的文件夹里  消失了??  (这个没查到)

基本在练写程序  下次要分多点时间看了

在c趣味程序里遇见的问题:

1.绘制余弦曲线

输出空格要用printf(" 空格"),不能直接写printf(""),我错以为一样的!!!

用第二道题的做法重写:

#include <stdio.h>

#include <math.h> //经常加了头文件编译的时候也会发现提示acos未定义  需要编译时加入-lm链接math库文件

main()

{

 double y;

 int x,m;

 

  for(y=1;y>=-1;y-=0.1)  //余弦的取值范围

   {

        m=acos(y)*10; //扩大10倍

      for(x=1;x<=62;x++) 

      {

          if(x==m||x==62-m)  printf("*");

          else printf(" ");

       }

      printf("\n");

   }

}

 第二道  cos与直线相交  为什么for循环不加大括号?在不加大括号的时候如果是遇见第一个分号就截止,很明显不应该出现正确结果  使用gdb调试发现如果是不加括号后面跟的是if/else  省略的大括号包含的内容是if和else整体  

第三道  画圆的时候  我直接采用类似于第一道题的改写发现哪点出了问题问题出在:

贴出部分代码

for(x=1;x<=60;x++)

if(x==m||x==60-m)  printf("*");  //m为之前算出的列号  

else printf (" ");

printf("\n");

这样得不出正确结果  因为一开始我一直认为列号就是点在x轴上的投影,也就是列的数值就是x轴上的值。 这是错的

列号应该从你的行与你想画的图形的交点算起

把上面的改成

if(x==30-m||x==30+m)就能出现正确结果

这样说  第一个列号是y值从上到下遍历时与圆的最高点交点 投射在x轴的位置 即圆心;而不是最靠近y轴的那点

4 ,5 ,6倒没什么特别的  就是第6道题输出的时候为什么在最后的printf("......"    last%1000);又取了一次余?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值