| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 383 人关注过本帖
标题:新手的一个作业问题
只看楼主 加入收藏
Hong91
Rank: 2
等 级:论坛游民
帖 子:28
专家分:19
注 册:2010-3-27
结帖率:71.43%
收藏
已结贴  问题点数:20 回复次数:2 
新手的一个作业问题
题目的要求:输入一个不超过6位的正整数,输出最高和最低位还有位数。一位数的话只输出该数字还有位数。下面是我编写的内容。有个问题。无论输入什么数字。最高位输出的总是0,不知道为什么。

#include<stdio.h>
main()
{
    int X,a,b,N;
    printf("请输入一个不超过6位的正整数X=");
    scanf("%d",&X);
    if(X>0&&X<=9)
    N=1;
    a=X;
    if(X>=10&&X<=99)
    N=2;
    a=X/10;
    b=X%10;
    if(X>=100&&X<=999)
    N=3;
    a=X/100;
    b=X%10;
    if(X>=1000&&X<=9999)
    N=4;
    a=X/1000;
    b=X%10;
    if(X>=10000&&X<=99999)
    N=5;
    a=X/10000;
    b=X%10;
    if(X>=100000&&X<=999999)
    N=6;
    a=X/100000;
    b=X%10;
   
    switch(N)
    {case 1:printf("%d\nN=%d",X,N);break;
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:printf("%d,%d\nN=%d",a,b,N);break;
    default:printf("error");
    };
}
搜索更多相关主题的帖子: 作业 
2010-03-27 16:06
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:20 
#include <stdio.h>
int main(void)
{
    char buf[7];
    int num,  i = 0;
    scanf("%d", &num);
    if (num >= 100000 || num <= 0)
        return 1;
    sprintf(buf, "%06d", num);
    while(buf[i++] == '0');
    printf("%c, %c\n", buf[i-1], buf[5]);
}

你的程序每个if下面要加上花括号表示它的作用区域


[ 本帖最后由 ldg628 于 2010-3-27 16:26 编辑 ]
2010-03-27 16:22
Hong91
Rank: 2
等 级:论坛游民
帖 子:28
专家分:19
注 册:2010-3-27
收藏
得分:0 
回复 2楼 ldg628
哦哦。谢谢呀~
2010-03-27 16:28
快速回复:新手的一个作业问题
数据加载中...
 
   



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

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