| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1665 人关注过本帖
标题:c语言自学者,遇到问题,请高手帮忙,谢谢!
只看楼主 加入收藏
精力百分百
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-8-10
收藏
 问题点数:0 回复次数:12 
c语言自学者,遇到问题,请高手帮忙,谢谢!
给一个不多于5位的正整数,要求:1\求出它是几位数;2\分别打印出每一位数字;3\按逆序打印出各位数字,例如原数为321,应输出123.
请尽快帮助我解决问题,谢谢!
搜索更多相关主题的帖子: c语言 自学 数字 打印 
2008-08-10 17:54
zhoufanking
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-8-10
收藏
得分:0 
给你点提示吧,用%把/把输入数给分解了放到一个整型数组里
2008-08-10 18:08
精力百分百
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-8-10
收藏
得分:0 
c语言自学者,遇到问题,请高手帮忙,谢谢!
不好意思,我刚学了一周多点,我还是不明白啊,辛苦师父给写个程序.(自学好苦恼好,遇到不会的地方,头都想大了,有个师父就好了,呵呵)
2008-08-10 18:35
精力百分百
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-8-10
收藏
得分:0 
c语言自学者,遇到问题,请高手帮忙,谢谢!
不好意思,我刚学了一周多点,我还是不明白啊,辛苦师父给写个程序.(自学好苦恼好,遇到不会的地方,头都想大了,有个师父就好了,呵呵)
2008-08-10 18:38
苏洵
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-8-10
收藏
得分:0 
2.分别打印出每个数字
只会做这一部分,而且是输入固定位数的
算法大概是这样,叫辗转相除法
利用/和%
#include<stdio.h>

/*程序从main函数开始执行*/
int main()
{
   int num;/*用户输入的数字*/
   int shang,yu;/*辗转相除所得的商、余数*/

   printf("输入一个五位整数:\n");/*提示信息*/
   scanf("%d", &num);

   shang = num / 10000;
   yu = num % 10000;
   printf("%d\n", shang);/*输出正数第一位*/
   
   shang = yu / 1000;
   yu = yu % 1000;
   printf("%d\n", shang);/*输出正数第二位*/
   
   shang = yu / 100;
   yu = yu % 100;
   printf("%d\n", shang);/*输出正数第三位*/

   shang = yu / 10;
   yu = yu % 10;
   printf("%d%d\n", shang, yu);/*输出正数第四、五位*/

   return 0;/*表示程序成功结束*/

}/*函数main结束*/
2008-08-10 18:53
菜鸟学C
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-8-10
收藏
得分:0 
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int a,b,c,d,e;
if(n<0) cout<<"数非法!"<<endl;
if(n>0){a=n%10;cout<<a;}
if(n>9){b=n%100/10;cout<<b;}
if(n>99){c=n%1000/100;cout<<c;}
if(n>999){d=n%10000/1000;cout<<d;}
if(n>9999){e=n/10000;cout<<e;}
cout<<endl;

return 0;
}
呵呵 !!乱写的哈
2008-08-10 18:57
精力百分百
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-8-10
收藏
得分:0 
感谢各位的帮助,不论对与错,对我都有很大的帮助,再次感谢!
感谢各位的帮助,不论对与错,对我都有很大的帮助,再次感谢!
2008-08-10 19:52
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
程序代码:
/*******************************************************************************

            给一个不多于5位的正整数,要求:1\求出它是几位数;
        2\分别打印出每一位数字;3\按逆序打印出各位数字,例如
        原数为321,应输出123.

*******************************************************************************/
#include<stdio.h>
#include<string.h>
int main(void)
{
        long  a;
        printf("input a:\n");
        scanf("%ld",&a);
        if(a-100000<0&&a-9999>0)
            printf("这是一个5位数.\n万位:%ld\n千位:%ld\n百位:%ld\n十位:%ld\n"
                   "个位:%ld\n逆序:%ld%ld%ld%ld%ld\n",
                   a/10000,
                   (a/1000)%10,
                   (a/100)%10,
                   (a/10)%10,
                   a%10,
                   a%10,(a/10)%10,(a/100)%10,(a/1000)%10,a/10000);
        else if(a-10000<0&&a-999>0)
            printf("这是一个4位数.\n千位:%ld\n百位:%ld\n"
                   "十位:%ld\n个位:%ld\n逆序:%ld%ld%ld%ld\n",
                   a/1000,
                   (a/100)%10,
                   (a/10)%10,
                   a%10,
                   a%10,(a/10)%10,(a/100)%10,a/1000);
        else if(a-1000<0&&a-99>0)
            printf("这是一个3位数.\n百位:%ld\n十位:%ld\n"
                   "个位:%ld\n逆序:%ld%ld%ld\n",
                   a/100,
                   (a/10)%10,
                   a%10,
                   a%10,(a/10)%10,a/100);
        else if(a-100<0&&a-9>0)
            printf("这是个2位数.\n十位:%ld\n个位%ld\n逆序%ld%ld\n",
                   a/10,
                   a%10,
                   a%10,a/10);
        else if(a-10<0&&a>=0)
            printf("这是个1位数,%ld",a);
        getch();

}
2008-08-10 23:47
shenj
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-3-4
收藏
得分:0 
字符方式:

#include<stdio.h>
main1()
{
     char num[6];
     char bmp[6]="\0\0\0\0\0\0";
     int c,n,i=0;
     int strbool=0;
     int strlongth;
     printf("请输入五个字符:");
     scanf("%s",num);
     for(n=5;n>=0;n--)
     {
        if(strbool)
        {
            bmp[i]=num[n];
            i++;
            continue;
        }

        if(num[n]=='\0')
        {
            strbool=1;
            strlongth=n;
        }
     }
     printf("字符倒过来:%s\n",bmp);
     printf("字符串长度:%d个\n",strlongth);
}

[[it] 本帖最后由 shenj 于 2008-8-11 02:32 编辑 [/it]]
2008-08-11 01:55
精力百分百
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-8-10
收藏
得分:0 
感谢楼上所有的师父!
虽然有些地方看不懂,不过我想以后多看几回类似的问题就明白了,再次感谢所有楼主的帮助!辛苦了!
2008-08-11 08:31
快速回复:c语言自学者,遇到问题,请高手帮忙,谢谢!
数据加载中...
 
   



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

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