| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1022 人关注过本帖, 1 人收藏
标题:如何多行输入并且输入后执行
只看楼主 加入收藏
裘Pluto
Rank: 2
等 级:论坛游民
帖 子:6
专家分:11
注 册:2016-11-25
结帖率:100%
收藏(1)
已结贴  问题点数:10 回复次数:6 
如何多行输入并且输入后执行
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 如何 
2016-12-01 12:32
ldsh304
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:242
专家分:755
注 册:2016-1-18
收藏
得分:2 
char ch[31];
while ((gets(ch)) != null)
{
    int len = strlen(ch);
    for (int i = 0; i <= len/2; i++)
    {
        char temp = ch[i];
        ch[i] = ch[len-i-1];
        ch[count-i-1] = temp;
    }
}

2016-12-01 13:24
marlow
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:125
专家分:419
注 册:2016-7-18
收藏
得分:2 
#include <stdio.h>
#include <string.h>
#define MAXLINE 30

int main(void)
{
    char ch[MAXLINE];
    int n;
   
    while(gets(ch) != NULL){
        n = strlen(ch);
        for(; n > 0; n--)
            printf("%c", ch[n - 1]);
    }
    return 0;

一切都在学习、尝试、摸索中
2016-12-01 14:24
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:2 
#include<stdio.h>
#include<string.h>
int fun(char *a)
{
   char ch;
   char *shou = a;
   int l = strlen(a);
   char *wei = a + l -1;
   
   while(shou < wei)
   {
         ch = *shou;
         *shou++ = *wei;
         *wei-- = ch;
         
       }
      puts(a);   
}

main()
{
    char *p[100] ;
    char s[100][100];
    int i = 0;
   
    while(gets(s[i]) != NULL)
    {
       p[i] = s[i];
       i++;
     }
   
    for(int j = i-1; j >=0 ; j--)
    {
         fun(p[j]);
    }
     
     return 0;
}

早知做人那么辛苦!  当初不应该下凡
2016-12-01 17:05
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:2 
#include<stdio.h>
void fun()
{
    char ch;

    if (scanf("%c",&ch)!=EOF)
        fun();

    if (ch!='\0')
        printf("%c",ch);
}
int main()
{
    fun();

    printf("\n");

    return 0;
}


[此贴子已经被作者于2016-12-1 20:06编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-01 19:59
client苏
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2014-9-6
收藏
得分:2 
int main()
{
    char str2[30][31];
    char temp;
    int len;
    int i=0;
    int j=0;
    while(gets(str2[i])!=NULL)
    {        
        len=strlen(str2[i]);
        for(j=0; j<len/2; j++)
        {
             temp = str2[i][j];
             str2[i][j] = str2[i][len-1-j];
             str2[i][len-1-j] = temp;
        }
        i++;
    }
    for(j=i-1;j>=0;j--)
    {
        printf("%s\n",str2[j]);
    }
    return 0;
}
2016-12-01 20:34
裘Pluto
Rank: 2
等 级:论坛游民
帖 子:6
专家分:11
注 册:2016-11-25
收藏
得分:0 
谢谢ldsh304  marlow  炎天  九转星河  client苏
你们给的代码我都好好看了

int main()
{
    char str2[30][31];
    char temp;
    int len;
    int i=0;
    int j=0;
    while(gets(str2[i])!=NULL)           //取一行的字符串
    {
        len=strlen(str2[i]);
        for(j=0; j<len/2; j++)                      //将首尾互换
        {                                           //
             temp = str2[i][j];                     //
             str2[i][j] = str2[i][len-1-j];         //
             str2[i][len-1-j] = temp;               //
        }
        i++;                                        //下一行
    }
    for(j=i-1;j>=0;j--)                             //以ctrl+c结束
    {
        printf("%s\n",str2[j]);                     //输出逆反后的数组
    }
    return 0;
}

-----------------------------------------------分割线-------------------------1

char ch[31];
while ((gets(ch)) != null)         //取一行的字符串
{
    int len = strlen(ch);          //strlen(ch)取字符串长度(到'\0'结束
    for (int i = 0; i <= len/2; i++)//将数组逆反
    {
        char temp = ch[i];
        ch[i] = ch[len-i-1];
        ch[count-i-1] = temp;
    }
}

-----------------------------------------------分割线-------------------------2

#include <stdio.h>
#include <string.h>
#define MAXLINE 30

int main(void)
{
    char ch[MAXLINE];
    int n;

    while(gets(ch) != NULL)   //读取字符串
    {
        n = strlen(ch);   
        for(; n > 0; n--)
            printf("%c", ch[n - 1]);    //逆反输出
    }

    return 0;
这是我的理解
但是
#include<stdio.h>
void fun()
{
    char ch;

    if (scanf("%c",&ch)!=EOF)
        fun();

    if (ch!='\0')
        printf("%c",ch);
}
int main()
{
    fun();

    printf("\n");

    return 0;
}这个代码的将数组反输出在哪?
(指针还没学,我以后在回过来看)
2016-12-02 17:13
快速回复:如何多行输入并且输入后执行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031662 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved