| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 749 人关注过本帖
标题:检验你的智商的时候到了!求正整数
只看楼主 加入收藏
woainisbb
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-11-27
收藏
 问题点数:0 回复次数:8 
检验你的智商的时候到了!求正整数
给出一个四位正整数,求他是几位数,分别打印每个数字,按逆序打印出来!我写的是这样,大家帮忙看看!!
#include<stdio.h>
void main()
{
    int m,a,b,c,d;
    printf("请输入数字:");
    scanf("%d",&m);
    a=m/1000;
    b=m%1000/100;
    c=m%1000%100/10;
    d=m%1000%100%10;
    if(m<10000&&m>=1000) printf("您所输入的数字为四位数\n");
    printf("你所输入的数字依次为:%d,%d,%d,%d\n",a,b,c,d);
    printf("该数字的逆序为:%d\n",d*1000+c*100+b*10+a);
    else if(m<1000&&m>=100) printf("您所输入的数字为三位数\n");
    printf("你所输入的数字依次为:%d,%d,%d\n",b,c,d);
    printf("该数字的逆序为:%d\n",d*100+c*10+b);
    else if(m<100&&m>=10) printf("您所输入的数字为两位数\n");
    printf("你所输入的数字依次为:%d,%d\n",c,d);
    printf("该数字的逆序为:%d\n",d*10+c);
    else if(m<10&&m>=0) printf("您所输入的数字为个位数\n");
    printf("你所输入的数字依次为:%d\n",d);
    printf("该数字的逆序为:%d\n",d);
    else printf("你输入的数字超过使用范围!");
}
搜索更多相关主题的帖子: 智商 整数 检验 
2008-11-27 21:17
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
程序错了吧??
你的if没有打大括号类.

然后好象就没有问题了吧?
程序代码:
#include<stdio.h>
void main(){
    int m,a,b,c,d;
    printf("请输入数字:\n");
    scanf("%d",&m);
    a=m/1000;
    b=m%1000/100;
    c=m%1000%100/10;
    d=m%1000%100%10;
    if(m<10000&&m>=1000){
      printf("您所输入的数字为四位数\n");
      printf("你所输入的数字依次为:%d,%d,%d,%d\n",a,b,c,d);
      printf("该数字的逆序为:%d\n",d*1000+c*100+b*10+a);
    }else if(m<1000&&m>=100){
      printf("您所输入的数字为三位数\n");
     printf("你所输入的数字依次为:%d,%d,%d\n",b,c,d);
      printf("该数字的逆序为:%d\n",d*100+c*10+b);
    }else if(m<100&&m>=10){
      printf("您所输入的数字为两位数\n");
     printf("你所输入的数字依次为:%d,%d\n",c,d);
      printf("该数字的逆序为:%d\n",d*10+c);
    }else if(m<10&&m>=0){
      printf("您所输入的数字为个位数\n");
      printf("你所输入的数字依次为:%d\n",d);
      printf("该数字的逆序为:%d\n",d);
    }else
      printf("你输入的数字超过使用范围!");
    getch();
}

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-11-27 21:22
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
这个好象能简单点?如果不用字符串,那么用这个好象应该比较好的:
程序代码:
#include <stdio.h>
int i=0;
void dg(int a)
{
    if(a==0)    return ;
    else
    {
        printf("%d",a%10);
        i++;
        dg(a/10);
    }
}
int main(void)
{
    int a;
    printf("input a:\n");
    scanf("%d",&a);
    printf("contrary :\n");
    dg(a);
    printf("\ni=%d\n",i);
    return 0;
}
2008-11-27 21:39
woainisbb
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-11-27
收藏
得分:0 
谢谢大家的指点!!谢谢外太空!!我已经知道错了!
2008-11-27 21:43
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
呵呵,是吗?

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-11-27 21:43
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
回复 第3楼 广陵绝唱 的帖子
你的代码中
if(a==0)    return ;
是什么意思?
不是void无返回吗?
怎么return ;
而且没有内容?

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-11-27 21:46
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 第6楼 zqy110007 的帖子
结束递归。
2008-11-27 21:48
liyanhong
Rank: 3Rank: 3
来 自:水星
等 级:禁止访问
威 望:8
帖 子:1867
专家分:0
注 册:2008-5-3
收藏
得分:0 
标题党! :(

爱上你 是 我的错  可是离 开  又舍不得  听着你为我写的歌     好难过
如果说 我说如果  我们还 能  重新来过   不去计 较 谁对谁错  会怎么做
2008-11-27 22:35
tehi
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-8-15
收藏
得分:0 
#include<stdio.h>                                
int count=0,i;                                   
main()                                          
{                                                
FILE *fp;                                       
char s[10];                                      
fp = fopen("d:\\siweishu.txt","r");              
while(!feof(fp))                                 
{                                                
    for(i=0;i<10;i++)                           
    {fscanf(fp,"%c",&s[i]);                     
    if(s[i] >= '0' && s[i] <= '9')               
        count++;}                                
}                                                
printf("the number with %d digits.\n",count);   
for(i=count-1;i >=0;count--,i--)                 
    printf("%c",s[i]);                           
    getch();                                    
}                                                
我写的,从文件读取4个数。
2008-11-28 11:26
快速回复:检验你的智商的时候到了!求正整数
数据加载中...
 
   



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

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