| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 472 人关注过本帖
标题:小弟刚学编程,遇到一到作业题 在编程遇到一点问题 希望大神求解
只看楼主 加入收藏
x247113407
Rank: 1
等 级:新手上路
帖 子:5
专家分:3
注 册:2012-12-5
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
小弟刚学编程,遇到一到作业题 在编程遇到一点问题 希望大神求解
先贴代码

#include<stdio.h>
main()
{
char data[7]="      ";
char dat;
int i num;
num=0;
while(EOF!=scanf("%c", &dat))
{
for(i=0;i<=5;i++)
{
data[i]=data[i+1];
}
data[6]=dat;
if(data[7]="0000110")
{
num++
}
printf("%d", num)
}

但是在运行中总是不能达到预期的效果 也将if当中的语句改成过:(data[0]=='0')&&(data[1]=='0')&&(data[2]=='0')&&(data[3]=='0')&&(data[4]=='1')&&(data[5]=='1')&&(data[6]=='0')
但还是不行
希望大神们能解答一下啊 小弟感激不尽!

不好意思 刚刚打错了  主要的问题是在if内部的 感谢大家了

[ 本帖最后由 x247113407 于 2012-12-5 10:52 编辑 ]
搜索更多相关主题的帖子: 希望 include 
2012-12-05 10:08
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:5 
程序代码:
#include<stdio.h>
main()
{
char data[7]="       ";//数组过小
char dat;
int i num;
num=0;
while(EOF!=scanf("%c", &dat))
{
for(i=0;i>=5;i++)//判断条件有问题,不能执行循环体
{
data[i]=data[i+1];
}
data[6]=dat;
if(data[7]="0000110")//这个不知道你的用意,一个char变量是不可以赋值一个字符串的,如果是判断相等要用只能与单个字符如:‘a’相比较,比较符号是==,如果是字符串要用strcmp()函数
{
num++
}
printf("%d", num)
}

你的代码问题很多:data[7]只能存长度为6的字符串,你存的一个有7个字符的字符串
2012-12-05 10:32
jk_love
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:196
专家分:965
注 册:2012-10-22
收藏
得分:5 
for(i=0;i>=5;i++)
这是什么逻辑?
2012-12-05 10:33
x247113407
Rank: 1
等 级:新手上路
帖 子:5
专家分:3
注 册:2012-12-5
收藏
得分:0 
回复 2楼 heroinearth
不好意思 刚刚打错了一些东西  现在能再帮我看看吗  主要的问题是if内部的问题  其实我的用意就是想输入0或者1  当输入到0000110的时候自动识别一个特定字符串 最后得出有几个这样的字符串
2012-12-05 10:54
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
回复 4楼 x247113407
能不能把你的用意说的更明白点,比如说输入什么,能输入出什么,最好有样例。你要的是不是这样?

#include<stdio.h>
#include<string.h>

int main(void)
{
    char data[8]="      ";
    char dat;
    int i,num;
    num=0;
    while(scanf("%c", &dat)!=EOF)
    {
        while(getchar()!='\n')
            continue;
        for(i=0;i<=6;i++)
        {
            data[i]=data[i+1];
        }
        data[6]=dat;
        if(strcmp(data,"0000110")==0)
        {
        num++;
        }
    printf("%d\n", num);
    }
}




[ 本帖最后由 heroinearth 于 2012-12-5 14:31 编辑 ]
2012-12-05 11:08
x247113407
Rank: 1
等 级:新手上路
帖 子:5
专家分:3
注 册:2012-12-5
收藏
得分:0 
回复 5楼 heroinearth
真是很感谢你了。。不过你的代码我有一些地方不明白。。比如 int mian(void) 是什么意思 我的书上写main函数就 直接是main()  getchar()是什么意思?
我编这个代码想达到的目的就是从输入的字符当中识别出一串特定的字符组
例如
0
0
0
0
1
1
0
1
1
1
1
0
这样 输入的字符中有一个 0000110  所以最后就显示1
再次感谢
2012-12-05 23:08
qq872551969
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:1
帖 子:241
专家分:1377
注 册:2012-7-13
收藏
得分:5 
死循环吧?

编程交流请加群:【234181324】,一起学习,一起进步,新建的群,主打C语言和JAVA等程序设计,等待高手们的入驻,无论你是高手也好,新手也好,在这里都是平等的,欢迎你们的加入~!【234181324】
2012-12-06 11:31
维555我
Rank: 2
等 级:论坛游民
帖 子:28
专家分:38
注 册:2012-12-5
收藏
得分:5 
是的
2012-12-06 11:35
快速回复:小弟刚学编程,遇到一到作业题 在编程遇到一点问题 希望大神求解
数据加载中...
 
   



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

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