| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2518 人关注过本帖
标题:求指教代码,谢谢
只看楼主 加入收藏
屋顶
Rank: 1
等 级:新手上路
帖 子:174
专家分:7
注 册:2016-2-27
结帖率:92.86%
收藏
 问题点数:0 回复次数:10 
求指教代码,谢谢
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

这两个题目代码怎么编啊,谢谢
2016-04-22 19:21
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用屋顶在2016-4-22 19:21:12的发言:
这两个题目代码怎么编啊,谢谢

动脑动手,说多无谓,行动最实际。
2016-04-22 19:59
屋顶
Rank: 1
等 级:新手上路
帖 子:174
专家分:7
注 册:2016-2-27
收藏
得分:0 
回复 2楼 吹水佬
我主要不明白这个eof代表什么,第9题我做出来了,主要是想看看你们的思路
2016-04-22 20:21
屋顶
Rank: 1
等 级:新手上路
帖 子:174
专家分:7
注 册:2016-2-27
收藏
得分:0 
回复 2楼 吹水佬
#include<stdio.h>
void hanshu(char *);
main()
{
    char ch[50];
    gets(ch);
    hanshu(ch);
    puts(ch);
    }
void hanshu(char *string)
{
    int n=0;
    while(*string)
        {
            if(*string==' ')
            {
              while(*(string+n++))
                  *(string+n-1)=*(string+n);
                  n=0;
                  }
           string++;
           }
    }
这个是第9题我写的代码,主函数中的循环输入,不知道怎么弄,还有就是“直到用户输入空行”这句没做出来,求指教一下。
2016-04-22 20:26
屋顶
Rank: 1
等 级:新手上路
帖 子:174
专家分:7
注 册:2016-2-27
收藏
得分:0 
回复 2楼 吹水佬
eof好像是文件结尾,文件不就是字符串吗?字符串结尾是'\0',那这个eof和'\0'是什么关系,我知道eof的值是-1

[此贴子已经被作者于2016-4-22 20:33编辑过]

2016-04-22 20:31
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用屋顶在2016-4-22 20:31:24的发言:

eof好像是文件结尾,文件不就是字符串吗?字符串结尾是'\0',那这个eof和'\0'是什么关系,我知道eof的值是-1

这样试试看:
1、输入字串1234567890123回车确认。
2、输入字串123回车确认,输入Ctrl+Z(其他操作系统可能是Ctrl+D)回车结束。
程序代码:
#include <stdio.h>

int main()
{
    int i=0, c;
    char s[11];
    char* p;
    p = s;
    while(1)
    {
        c = getchar();
        if(c == EOF || i>9)
        {
            *p = '\0';
            break;
        }
        *p = c;
        p++;
        i++;
    }
    printf("%s\n", s);
    return 0;
}


[此贴子已经被作者于2016-4-22 22:06编辑过]

2016-04-22 22:05
屋顶
Rank: 1
等 级:新手上路
帖 子:174
专家分:7
注 册:2016-2-27
收藏
得分:0 
回复 6楼 吹水佬
那eof是和空字符'\0'表示一个意思吗?两个可以互换使用?
2016-04-22 23:04
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用屋顶在2016-4-22 23:04:08的发言:

那eof是和空字符'\0'表示一个意思吗?两个可以互换使用?

在此,EOF是设备流结束标志(定义为-1),'\0'(0x00)通常用作字串结束标志。
2016-04-23 08:41
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:0 
回复 5楼 屋顶
eof应该是end of file,类似的术语可以直接百度有很详细的解释的,而且来的快。查网络资料和求助论坛都是种学习方法哦,灵活使用.

[此贴子已经被作者于2016-4-23 09:19编辑过]

2016-04-23 09:18
nupt_陈小二
Rank: 2
等 级:论坛游民
帖 子:13
专家分:36
注 册:2016-4-17
收藏
得分:0 
第九题应该是这样的。
程序代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main(void)
{
    char str[100];
    int i;
    printf("输入字符串:\n");
    while(gets(str) != NULL && str[0] != '\0')
    {
        int j=0;
        for(i=0;i<strlen(str);i++)
        {
            if(str[i] == ' ')
                continue;
            else
                str[j++] = str[i];
        }
        str[j]='\0';
        puts(str);
        printf("输入下一个字符串(press enter to exit):\n");
    }
    return 0;
}
2016-04-23 12:55
快速回复:求指教代码,谢谢
数据加载中...
 
   



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

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