初次写博客
2016-03-14 00:00
375 查看
不知道在哪看到的,说学一种语言可以经常把所学的东西写到博客上,有利于学习,于是我就来咯!不知道能坚持多久哈,也不知道能发掘多少值得写的东西。哈哈哈哈!
目前学的是C语言啦,说到学这门语言也是形势所迫,大四,马上就待业了,期待的职业是嵌入式软件开发,就到处找工作咯,然后就各种碰壁,C语言面试题一设计什么指针啊,结构体啊就晕了了,再问什么线程通信啊,直接懵逼,好吧,我是自动化专业的,就大一学了点C语言好吗,没办法,再学一遍呗。参考的教材是《一站式学习C语言》(.PDF@_@)。今天敲了一下午代码,收货还是很大的,让我领略到为什么说数学专业的学生在编程方面会比较有造诣。
这道题花了我不少时间,感觉像是挺简单(也确实挺简单^_^),貌似大一的时候做过这种题,但是这次分析的时候不知道是怎么了,脑子里一直是这样的:
好吧,那就解数学题吧,当然是在橘色区域答应出你想要的符号咯,四个小三角就打印空格呗,试了半天一个符号加一个空格可以显得比较美观, 剩下的地方打印两个空格,关键就在那四条边怎么用i和j表达出来,我是这么弄得
草稿纸上弄了半天好吧。最后封装成一个函数,代码如下啦:
说一下需要注意的地方吧,一开始想法不够严谨,总想着在那些需要的地方打印出符号来就好了,以为空格会理所当然的出现在你得屏幕上,没有写else语句,导致打印出这样的东西:
好在最后是发现了,完整的代码贴在下面了:
可爱的菱形:
代码风格不太好,先将就着吧。
目前学的是C语言啦,说到学这门语言也是形势所迫,大四,马上就待业了,期待的职业是嵌入式软件开发,就到处找工作咯,然后就各种碰壁,C语言面试题一设计什么指针啊,结构体啊就晕了了,再问什么线程通信啊,直接懵逼,好吧,我是自动化专业的,就大一学了点C语言好吗,没办法,再学一遍呗。参考的教材是《一站式学习C语言》(.PDF@_@)。今天敲了一下午代码,收货还是很大的,让我领略到为什么说数学专业的学生在编程方面会比较有造诣。
这道题花了我不少时间,感觉像是挺简单(也确实挺简单^_^),貌似大一的时候做过这种题,但是这次分析的时候不知道是怎么了,脑子里一直是这样的:
好吧,那就解数学题吧,当然是在橘色区域答应出你想要的符号咯,四个小三角就打印空格呗,试了半天一个符号加一个空格可以显得比较美观, 剩下的地方打印两个空格,关键就在那四条边怎么用i和j表达出来,我是这么弄得
1+length/2+1) && (i+j) <= (1+length/2+length) && (i-j) <= length/2 && (i-j) >= -length/2
草稿纸上弄了半天好吧。最后封装成一个函数,代码如下啦:
void diamond(int length, char symbol) { int i, j; printf("\n\n"); for (i = 1; i <= length; i++) { for (j = 1; j <= length; j++) if ( (i+j) >= (1+length/2+1) && (i+j) <= (1+length/2+length) && (i-j) <= length/2 && (i-j) >= -length/2) printf("%c ",symbol); else printf(" "); printf("\n"); } printf("\n\n"); }
说一下需要注意的地方吧,一开始想法不够严谨,总想着在那些需要的地方打印出符号来就好了,以为空格会理所当然的出现在你得屏幕上,没有写else语句,导致打印出这样的东西:
好在最后是发现了,完整的代码贴在下面了:
#include<stdio.h>
void diamond(int length, char symbol) { int i, j; printf("\n\n"); for (i = 1; i <= length; i++) { for (j = 1; j <= length; j++) if ( (i+j) >= (1+length/2+1) && (i+j) <= (1+length/2+length) && (i-j) <= length/2 && (i-j) >= -length/2) printf("%c ",symbol); else printf(" "); printf("\n"); } printf("\n\n"); }
int main(void)
{
int length;
char symbol;
printf("This program will print a diamond, and you can make customization.\n");
printf("Now, input a symbol,ex-> * + - @ \n");//一看就是学鸟哥的@_@
scanf("%c",&symbol);
printf("Then, input the lenth:\n");
scanf("%d",&length);
if (length % 2 == 0 || length > 73) //73为屏幕一行最多显示的字符
printf("ERROR! Please input a odd number less than 73!\n");
else
diamond(length,symbol);
return 0;
}
可爱的菱形:
代码风格不太好,先将就着吧。
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C语言自动生成enum值和名字映射代码
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言查找数组里数字重复次数的方法