VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 704|回复: 4

[讨论] 求大神,怎么只读掉最后一个回车而不影响输出字符之间的所有空白符?!!

[复制链接]
37_avatar_middle
在线会员 发表于 2016-11-2 20:37:46 | 显示全部楼层 |阅读模式
#include <stdio.h>
#include <ctype.h>

#define NL 17

int getIndex(char c);

int main(void)
{
    char ch;
   
    for (int i=1;scanf("%c",&ch)!=EOF;i++)
    {   
         
        printf("%4d",getIndex(ch));
        if (i%NL==0) putchar('\n');
            
    }
    (ch=getchar())='\n';
    return 0;
}

int getIndex(char ch)
{
    if ('A'<=ch&&ch<='Z')
        return ch-64;
    else if (islower(ch))
        return ch-'a'+1;
    else return -1;
       
}




上一篇:简单的经典C语言程序例题
下一篇:这种问题c是否能解决
74_avatar_middle
在线会员 发表于 2016-11-4 08:59:19 | 显示全部楼层
织梦 发表于 2016-11-3 14:46
请问大神什么意思?我C语言还没入门。。。

get_line 函數就是你要的答案 從標準輸入 讀入 一行字符串
如果用 c++ std::cout 有個 getline 函數 也是此功能
74_avatar_middle
在线会员 发表于 2016-11-3 09:46:14 | 显示全部楼层
  1. #include <cstdio>
  2. #define BUFFER_SIZE 1024
  3. unsigned int get_line(char* out,const unsigned int size);
  4. int main()
  5. {
  6.     char str[BUFFER_SIZE] = {0};
  7.     unsigned int n;
  8.     while(true)
  9.     {
  10.         printf("$>");
  11.         n = get_line(str,BUFFER_SIZE);
  12.         if(n == 1 && str[0] == 'q')
  13.         {
  14.             break;
  15.         }
  16.         printf("strlen = %u strval= %s\n",n,str);
  17.     }

  18.     return 0;
  19. }

  20. unsigned int get_line(char* out,const unsigned int size)
  21. {
  22.     unsigned int sum = 0;
  23.     while(true)
  24.     {
  25.         if(sum + 1 == size)
  26.         {
  27.             break;
  28.         }
  29.         out[sum] = getchar();
  30.         if(out[sum++] == '\n')
  31.         {
  32.             break;
  33.         }
  34.     }
  35.     out[sum] = 0;
  36.     return sum - 1;
  37. }
复制代码
37_avatar_middle
ico_lz  楼主| 发表于 2016-11-3 14:46:19 | 显示全部楼层

求大神,怎么只读掉最后一个回车而不影响输出字符之间的所有空白符?!!请问大神什么意思?我C语言还没入门。。。
37_avatar_middle
ico_lz  楼主| 发表于 2016-11-13 08:50:51 | 显示全部楼层
zuiwuchang 发表于 2016-11-4 08:59
get_line 函數就是你要的答案 從標準輸入 讀入 一行字符串
如果用 c++ std::cout 有個 getline 函數 也 ...

thank you very much
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-7-24 00:56

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表