随笔分类 -  C

打印相应数字三角形
摘要:读入N,S两个自然数(0 <= S, N <= 9), 打印相应的数字三角形(其中,S表示确定三角形的第一个数,N表示确定三角形的行数)。例:当N = 4, S = 3时打印:3(首位数为奇数)4 56 7 89 1 2 3当N = 4, S = 4时打印:(首位数为偶数) 4 6 5 9 8 7 4 3 2 1#include <stdio.h>/* This function is used to reverse the output */void reverse(int num[], int cnt){ int pre, last ... 阅读全文

posted @ 2012-09-10 21:05 初级业余程序员 阅读(1450) 评论(0) 推荐(0)

十进制转N进制
摘要:输入一个十进制数,将其转换成N进制数(1<= N <= 16)#include <stdio.h>/* This function is used to convert the number * "num" is the number you want to convert * "n" is the N */void convert(int num, int n){ int out_num; if ((out_num = num / n) != 0) convert(out_num, n); printf("%d&quo 阅读全文

posted @ 2012-09-09 19:52 初级业余程序员 阅读(470) 评论(0) 推荐(0)

寻找符合规定的数
摘要:任意给定一个自然数N,寻找一个M,要求M是N的倍数,且它的所有位数都是0或1组成并要求M尽量小。例:N=3 M=3*37=111N=31 M=31*3581=111011#include <stdio.h>/* This function is used to add 1 to binary number of n. num[0] is high bit, * num[8] is low bit*/void b_add(int num[]){ int i = 8; while (++num[i] == 2) { num[i] = 0; i--; }... 阅读全文

posted @ 2012-09-05 21:59 初级业余程序员 阅读(256) 评论(0) 推荐(0)

黑色星期五
摘要:有一种计算机病毒叫黑色星期五,如果当天是13号,又恰好是星期五,就会发作起来毁坏计算机的存储系统,试编程找出九十年代中这种病毒可能发作的日期。 1 #include <stdio.h> 2 #define DAYBEGIN 1990 3 #define DAYEND 1999 4 #define FRIDAY 5 5 6 static day_table[2][13] = { 7 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 8 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31... 阅读全文

posted @ 2012-09-02 20:12 初级业余程序员 阅读(537) 评论(0) 推荐(0)

《C程序设计语言》书评------学C必读
摘要:这本书也看几遍了,最近的这一次是看的最仔细的,习题做了80%以上,终有了可以略窥C一二的感觉。 为了写篇的书评,特意又简单的翻阅了谭浩强的《C程序设计》,如果马上让我找出这本书的不足,也不能立刻说个一二(很多人说这本书上的代码有错误)。这本书似乎已经有第4版(阅读过第3版),也许早已改进了许多,若一定要我找出个不足之处,我个人认为其代码风格至少看起来很不爽(看过《C程序设计语言》后)。我无意指责谭浩强的书的好坏,也不否认其对中国编程事业所做的贡献,但是学习过谭的书到现在真的没剩下什么,这倒是真的。 Okey,言归正传。我推荐这本书原因如下: 1.K&R的大名学习编程的同学应该... 阅读全文

posted @ 2012-04-07 00:20 初级业余程序员 阅读(1163) 评论(1) 推荐(1)

《C程序设计语言》------跳转语句
摘要:goto:常用于终止程序在某些深度嵌套的结构中的处理过程,可一次跳出多层循环。#include <stdio.h>#define MAXSIZE 100intmain(){ int d, i; char a[MAXSIZE] = "This is a good day!"; for (i = 0; i < MAXSIZE; i++) { scanf("%d", &d); if (d) goto error; } error: printf("%s\n", a);}当输入1时,跳出循环,打印数组。由于... 阅读全文

posted @ 2012-04-05 19:12 初级业余程序员 阅读(500) 评论(0) 推荐(0)

《C程序设计语言》------文件访问
摘要:C语言函数库中访问文件需声明一个文件指针:FILE *fp;fp = fopen(name, mode);这里fopen函数:FILE *fopen(char *name, char *mode);第一个参数是一个字符串,包含文件名。第二个参数为访问模式,有读"r"、写"w"、追加"a"。如果要读取或写入单个字符或行,要调用getc、putc、fgets、fputs函数。fgets并不是完全意义上的读取行,而是最多将n-1个字符读入数组中,当遇到换行符时将换行符读入到数组,读取过程终止。在UNIX\LINUX下可以用fread和fwr 阅读全文

posted @ 2012-04-04 22:04 初级业余程序员 阅读(658) 评论(0) 推荐(0)

《C程序设计语言》------练习7-7、7-8
摘要:练习7-7:修改第5章的模式查找程序,使它从一个命名文件的集合中读取输入(文件名参数),如果没有文件名参数,则从标准输入中读取输入。当发现一个匹配行时,是否将相应的文件名打印出来:#include <stdio.h>#include <string.h>#define MAXLINE 1000int getlinen(char *line, int max); /*输入行*/main(int argc, char *argv[]){ char line[MAXLINE]; long lineno = 0; ... 阅读全文

posted @ 2012-04-03 16:42 初级业余程序员 阅读(446) 评论(0) 推荐(0)

《C程序设计语言》------关于输入输出(stdin、stdout、stderr)
摘要:启动一个C语言程序时,操作系统环境负责打开三个文件,并将这3个文件的指针提供给该程序。这3个文件分别为标准输入(stdin)、标准输出(stdout)、标准错误(stderr)。它们在<stdio.h>中声明,大多数环境中,stdin指向键盘,stdout、stderr指向显示器。之所以使用stderr,若因某种原因造成其中一个文件无法访问,相应的诊断信息要在该链接的输出的末尾才能打印出来。当输出到屏幕时,这种处理方法尚可接受,但如果输出到一个文件或通过管道输出到另一个程序时,就无法接受了。若有stderr存在,即使对标准输出进行了重定向,写到stderr中的输出通常也会显示在屏幕 阅读全文

posted @ 2012-04-02 22:39 初级业余程序员 阅读(12115) 评论(0) 推荐(0)

同学复试的一道C语言题目
摘要:n×n的矩阵,采用顺时针打印出1~16. 1 #include <stdio.h> 2 3 #define MATRIX 4 4 5 static int data[4][4] = {{1, 2, 3, 4}, 6 {12, 13, 14, 5}, 7 {11, 16, 15, 6}, 8 {10, 9, 8 ,7} 9 };10 int main()11 {12 int n, i, j, l;13 14 for (n = MATRIX; n > MATRIX - 2; n--)... 阅读全文

posted @ 2012-04-01 12:36 初级业余程序员 阅读(623) 评论(9) 推荐(0)

导航