C语言练习题

从一个人写的博客中看到了一些学习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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值