| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 372 人关注过本帖
标题:关于输入的小问题
只看楼主 加入收藏
cb_1212
Rank: 1
等 级:新手上路
帖 子:126
专家分:5
注 册:2011-4-28
结帖率:66.67%
收藏
 问题点数:0 回复次数:8 
关于输入的小问题
如果我要输入多组数据(任意几组),遇到数字0结束输入。怎么实现?
2011-11-19 23:24
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
while(scanf("%d",a) && a)

while(scanf("%d%d..",a,b,..) && a+b+..)

                                         
===========深入<----------------->浅出============
2011-11-19 23:49
cb_1212
Rank: 1
等 级:新手上路
帖 子:126
专家分:5
注 册:2011-4-28
收藏
得分:0 
回复 2楼 laoyang103
嗯嗯,可是输入多组数据的时候a+b+c+....岂不是输入的都是0才行?? 那还是不能跳出啊。。。
2011-11-20 00:10
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
假如输入n个 那就先输入一个判断然后再输入后面的n-1个

while(scanf("%d",a) && a)
{
      if(0 == a)
          break;
      scanf("%d%d...",b,c...);
}
楼主这么晚还不睡觉去?

                                         
===========深入<----------------->浅出============
2011-11-20 00:56
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
楼主输入什么内容啊

—>〉Sun〈<—
2011-11-20 01:21
cb_1212
Rank: 1
等 级:新手上路
帖 子:126
专家分:5
注 册:2011-4-28
收藏
得分:0 
回复 4楼 laoyang103
你也没睡嘛。编程就是这样滴,有时自己都不知道有多晚了。。。。
额额,大侠,再弱弱问一句,怎样判断一个字符串是另一个字符串的字串啊。
比如输入:aksdgja   那么asa、akj等等就是它的字串,注意是有顺序的哦。
2011-11-20 16:44
joetemp
Rank: 2
等 级:论坛游民
帖 子:3
专家分:11
注 册:2011-11-20
收藏
得分:0 
那个涉及到数据结构的算法。你可以看一下数据结构的书。
2011-11-20 16:51
cb_1212
Rank: 1
等 级:新手上路
帖 子:126
专家分:5
注 册:2011-4-28
收藏
得分:0 
回复 7楼 joetemp
呃呃 可以用简单的方法的。。。
2011-11-20 20:58
cb_1212
Rank: 1
等 级:新手上路
帖 子:126
专家分:5
注 册:2011-4-28
收藏
得分:0 
回复 4楼 laoyang103
程序代码:
#include<iostream>
#include<cstring>
using namespace std;
int cmp(char a[],char b[],int m,int n)
{ 
    int i,flag=0;
    for(i=0;i<n;i++)
        if((b[m]-a[i])==0)
        {
            flag = 1;
            break;
        }
        if(flag == 1) return 1;
        else return 0;
}
int main()
{
    int i,j=0,n1,n2,flag=0;
    char a[1001];
    char b[1001];
    gets(a);
    gets(b);
    n1 = strlen(a);
    n2 = strlen(b);
    for(i=0;i<n2;i++)
        if(cmp(a,b,i,n1) == 1)
            continue;
        else goto next;
        printf("YES\n");
    next:printf("NO\n");
    return 0;
}
        


帮忙看看这段代码。
意思就是第一行如果输入abglajg,第二行输入abg、alg等等(只要是第一行字符依次出现过的字符都可以),则输出YES,否则输出NO。
我那个goto语句判断NO时可以,但是判断为YES时把下面的NO也输出了。这是为什么?难道是顺序执行 next:printf("NO\n");了?怎么改呢?
2011-11-20 22:21
快速回复:关于输入的小问题
数据加载中...
 
   



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

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