Sun, 10 Aug 2008 04:33:14 +0800
记住这东西......
http://forum.ubuntu.org.cn/viewtopic.php?t=141934&highlight=
-
#include <stdio.h>
-
#include <string.h>
-
#include <ctype.h>
-
#include <stdlib.h>
-
-
#define MAX 9000
-
-
char result[MAX];
-
int i = 0;
-
-
enum {PASS, MINUS};
-
-
int sum(char *,char *,int);
-
int ro(char *);
-
void free_result();
-
char *clear_zero(char *e);
-
Tags: C语言
Posted in C语言 | 141 Comments
Sun, 03 Aug 2008 02:47:20 +0800
呃......这个的也和那个答案不一样。测试了一下答案,对输入没作什么处理啊,输出没改变......不知道是不是我哪搞错了。我比答案少一个功能,检测是否是图形字符。简述完毕!
-
/* 编写一个程序,以合理的方式打印任何输入。该程序至少能够根据用户的习惯
-
* 以八进制或十六进制打印非图形字符,并截断长文本行。
-
* Usage: cat filename.txt | ./print_type -t 8/16;
-
* exercise.7-2.<The C Programming Language>.Page 136.
-
* */
-
Tags: C语言
Posted in C语言 | 217 Comments
Sun, 03 Aug 2008 02:35:09 +0800
编的时候变量名字随便弄,感觉好乱。后来重新整理了下,可能不太规范(包括英文的命名),这过程花时间阿......。
下次要想好再弄了......。还有,本练习和我找到的答案差好远,答案实现各种格式的输出。我却去实现最小字段啊,精度阿,向左对齐的功能......难道是我把"更多功能"理解错了??
-
/*改写minprintf函数, 使它能完成printf函数的更多功能
-
*(没走 “printf("%.*s",max, s)” 这种途径,所以在打印
-
* double型的时候精度只正能到小数点后13位)
-
*exercise.7-3.<The C programming Language>.Page136
-
*test_Usage: ./program_name
-
* finish time : 08/08/02;
-
* */
-
Tags: C语言
Posted in C语言 | 139 Comments
Tue, 24 Jun 2008 06:32:26 +0800
这个.......
-
/* 编写一个程序,根据单词的出现频率安降序打印输入的各个不同单词,并
-
* 在每个单词的前面标上它的出现次数。
-
* exercise.6-4 in <The C programming Language> ,page125*/
-
#include <stdio.h>
-
#include <ctype.h>
-
#include <string.h>
-
-
#define MAXWORD 100
-
-
struct tnode { /* 树的节点 */
-
char *word; /* 指向单词的指针 */
-
int count; /* 单词出现的次数 */
-
struct tnode *left; /* 左子节点 */
-
struct tnode *right;/* 右子节点 */
-
struct snode *snode;/* 指向该单词在sort树中的节点 */
-
};
-
-
struct snode { /* sort树的节点 */
-
struct tnode *tnode; /* 指向该节点所放置的单词,在单词树中的节点 */
-
struct snode *left; /* 左子节点 */
-
struct snode *right; /* 右子节点 */
-
};
-
Tags: C语言
Posted in C语言 | 367 Comments
Fri, 06 Jun 2008 00:58:52 +0800
-
void two(int i){
-
int s[2]={0};
-
for(q=0;q<i;++q){
-
for(l=0;l<2;++l)
-
scanf("%s",&vote[l]);
-
//printf("%c %c %c",vote[0],vote[1],vote[2]);
-
-
Tags: C语言
Posted in C语言 | 1356 Comments
Sun, 01 Jun 2008 09:18:50 +0800
上学期同学从其它学校拿来的题.当时只学了一点点.(惭愧啊,一个学期学了很少的东西,还是那么懒.....)
题目要求在这大概简述一下,题目丢了.
多人对三个候选人,分别为 a, b, c ,进行投票.排第一个拿5分,第二个拿3分,第三个2分.
若重复,出现未知候选人,要在输入投票内容后提示错误,但不影响投票结果,结果中不包含错误票提交的分数.
分数相同者要重新投票,若是有两人相同票数,要提示要求哪两人重投.
这是我的
-
#include <stdio.h>
-
char *b[2];
-
int i,k,l,q,w,x,j; //LINUX下每个FOR循环要用不同变量,好象还和循序有关......你在WINDOWS下试下减少变量......
-
int swap; //记录统计结果较大的数组下标
-
char vote[3]; //记录投票内容,如:a,b,c
-
void two(int i); //两人投票
-
int mark=0;
-
-
main()
-
{
-
int m;
-
char a[]={'a','b','c'}; //用于实现统计功能
-
int s[3]={0}; //分别固定记录a,b,c的得分,如:s[0]固定记录a[0](即'a')的得分
-
//printf("%c %c %c",a[0],a[1],a[2]);
-
-
scanf("%d",&i);
-
-
Tags: C语言
Posted in C语言 | 218 Comments
Thu, 29 May 2008 04:48:05 +0800
-
/* writelines函数: 写输出行*/
-
void writelines(char *lineptr[],int nlines)
-
{
-
int i;
-
-
for(i = 0; i < nlines;++i)
-
-
}
-
-
/* swap函数:交换v[i]和v[j]*/
-
void swap(void *v[],int i, int j)
-
{
-
void *temp;
-
-
temp = v[i];
-
v[i] = v[j];
-
v[j] = temp;
-
}
-
Tags: C语言
Posted in C语言 | 689 Comments
Thu, 29 May 2008 04:37:59 +0800
刚发现有这样适合 programmer的BLOG!
就把我今天刚作的C语言的小练习方上来看看先~~
初学编程,练习是 The C programming language 里的
练习5-14
请指教...
-
/*对输入文本进行排序,
-
*nqsort -n -r
-
*其中参数 -n 是按数值排序, -r是逆序
-
* *exercise.5-13.in 《The C Programming Language》,page102 */
-
-
#include <stdio.h>
-
#include <string.h>
-
#include <stdlib.h>
-
-
#define MAXLINES 5000
-
char *lineptr[MAXLINES];
-
-
int readlines(char *lineptr[],int nlines);
-
void writelines(char *lineptr[], int nlines);
-
void swap(void *v[],int i, int j);
-
-
void nqsort(void *lineptr[],int left, int right,int argument,
-
int (*comp)(void *, void *));
-
int numcmp(char *, char *);
-
-
int main(int argc, char **argv)
-
{
-
int c;
-
int nlines = 0;
-
int numeric = 0,reverse = 0;
-
-
while(--argc > 0 && *(++argv)[0] == '-')
-
while((c = *++argv[0]))
-
switch(c){
-
case 'n':
-
numeric = 1;
-
break;
-
case 'r':
-
reverse = 1;
-
break;
-
default:
-
printf("nnqsort: illegal option %c \n",c);
-
argc = 0;
-
break;
-
}
-
printf("n:%d\n r:%d\n",numeric,reverse);
-
if(argc != 0)
-
printf("Usage: nqort -n -r \n");
-
else{
-
if((nlines = readlines(lineptr,MAXLINES)) >= 0) {
-
nqsort((void **)lineptr,0,nlines-1,reverse,
-
(int (*)(void *, void *))(numeric ? numcmp : strcmp));
-
writelines(lineptr, nlines);
-
return 0;
-
}else {
-
printf("input too big to sort\n");
-
return 1;
-
}
-
}
-
return 0;
-
}
-
Tags: C语言
Posted in C语言 | 2788 Comments