C语言练习题

来源:互联网 发布:淘宝介入后买家输后果 编辑:程序博客网 时间:2024/06/06 14:01

从一个人写的博客中看到了一些学习c语言的心得,我知道成功的人有每个人的路,失败的人都是因为那几个问题失败的。我没有想完全照搬别人的经验,不过觉得别人说的有道理,可以借鉴。

下面是我自己练习的小程序。

//对于输入不超过10行,每行不超过1000个单词的内容,打印出每行超过10个字符的行#include<stdio.h>#define MAXLINE 1000#define MAXPUTS 10//宏定义,为了使防止后面出现幻数,不易于理解int getlline(char s[],int lim);int main(){ char buff[MAXLINE]; int k,j,n; char copy[MAXPUTS][MAXLINE];  int len; k=0; n=0; len=1; while((k<=MAXPUTS) && (len>0))  {    j=0;        if((len=getlline(buff,MAXLINE))>=10)       {         while((copy[n][j]=buff[j])!='\0')//复制长度大于10的数组             ++j;         ++n;       }    ++k;   }  int m; puts("this would be the line over 10 words"); for(m=0;m<=n;m++)//打印出长度大于10的数组     printf("%s",copy[m]);}int getlline(char s[],int lim)//函数接受输入的字符,遇到文件结束符或者是换行符的时候,把字符串保存在一个数组中,并且返回数组长度{  int i,c;  for(i=0;i<lim-1 && (c=getchar())!=EOF && c !='\n';++i)       s[i]=c;  if(c=='\n')   {     s[i]=c;     ++i;   }  s[i]='\0';  printf("the number is %d\n",i);  return i;}
0 0