| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1027 人关注过本帖
标题:c语言练习题,小弟初学c,求大神解决啊,这题老出错!!!
只看楼主 加入收藏
啊guard
Rank: 1
来 自:广东肇庆
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-12-3
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
c语言练习题,小弟初学c,求大神解决啊,这题老出错!!!
Description

给出一个正整数(positive integer)(不超过10位),从高位开始逐位分割并输出。

Input

测试数据有多行,每行是一个正整数 n ,不含前导零。

Output

对每个测试数据,输出分割后的整数序列,各数之间用一个空格隔开。
注意,最后一个数字后面没有空格。

Sample Input


654321
1

Sample Output


6 5 4 3 2 1
1
注意那些条件哦,说不含前导0,我这点老表示不出来!!!
搜索更多相关主题的帖子: 测试 分割 positive 练习题 正整数 
2012-12-04 00:00
weishen2011
Rank: 2
等 级:论坛游民
帖 子:92
专家分:70
注 册:2012-10-16
收藏
得分:5 
#include<stdio.h>
#include<stdlib.h>

int main()
{
    int n,a[10],i=0;
   
    printf("请输入整数n:");
    scanf("%d\n",&n);
   
    while(n)
    {
       a[i]=n%10;
       n=n/10;
       i++;
    }
   
    while(i>=0)
    {
       printf("%d ",a[i]);
       i--;
    }
    printf("\n");
    system("pause");
    return 0;
}
2012-12-04 00:49
weishen2011
Rank: 2
等 级:论坛游民
帖 子:92
专家分:70
注 册:2012-10-16
收藏
得分:0 
OK了!!这个没问题!!
#include<stdio.h>
#include<stdlib.h>

int main()
{
    int n,a[10],i=0;
   
    printf("请输入整数n:");
    scanf("%d",&n);
   
    while(n)
    {
       a[i]=n%10;
       n=n/10;
       i++;
    }
    i--;
    while(i>=0)
    {
       printf("%d ",a[i]);
       i--;
    }
    printf("\n");
    system("pause");
    return 0;
}
2012-12-04 02:01
核晴核理
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:129
专家分:169
注 册:2012-6-14
收藏
得分:5 
前导零不是Input的说明吗?你输入的数据前面不加零不就行了吗?不知道是不是我理解错了。。。
2012-12-04 08:30
lxsjzbd
Rank: 4
来 自:河北省
等 级:业余侠客
帖 子:97
专家分:258
注 册:2012-3-31
收藏
得分:5 
当字符串读取就对了嘛
2012-12-04 08:45
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:5 
这样不就对了嘛!
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
    int i,len,flag;
    char a[100];
    do
    {
        flag=0;
        printf("请输入一个正整数(不超过10位):");
        gets(a);   
        len=strlen(a);

        if(strcmp("0",a)==0)//0单独处理
        {
            break;
        }
        else
        {
            for(i=0;i<len;i++)
            {
                if(a[i]!='0')
                    break;
            }
        }
        if(i==len)//判断是否为一长串0
        {
            printf("如果要输入零,请直接输入0!\n");
            flag=1;
            continue;
        }

        for(i=0;i<len;i++)//判断是否为数字
        {
            if(a[i]<'0'||a[i]>'9')
            {
                printf("您输入的不是数字!请重新输入!\n");
                flag=1;
                break;
            }
        }   
        if(a[0]=='0'&&flag==0)//判断首位是否为0
        {
            printf("首位必须不为0!\n");
            flag=1;
            continue;
        }
        if(len>10&&flag==0)//判断是否超过10位
        {
            printf("您输入的数字超过了10位!请重新输入!\n");
            flag=1;
        }
    }while(flag==1);
   
    for(i=0;i<len;i++)//加空格打印
        printf("%c ",a[i]);
    printf("\n");

    system("pause");
    return 0;
}
测试:
图片附件: 游客没有浏览图片的权限,请 登录注册

小小战士,战士中的战斗机!
2012-12-04 10:23
快速回复:c语言练习题,小弟初学c,求大神解决啊,这题老出错!!!
数据加载中...
 
   



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

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