| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1318 人关注过本帖
标题:求助,列位请进来帮帮小弟。
取消只看楼主 加入收藏
以中
Rank: 3Rank: 3
来 自:长沙
等 级:论坛游侠
帖 子:108
专家分:129
注 册:2010-4-13
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:5 
求助,列位请进来帮帮小弟。
给定一个不多于5位的正整数,要求:1、求它是第几位数;2、分别打印出每一位数字;3、按逆序打印出各位数字。例如原数为321,应输出123.
#include "stdio.h"
void main()
{
    int i,n=0,a[5]={0,0,0,0,0};
    for(i=0;i<5;i++)
    {
        scanf("%d",&a[i]);
    if(a[i]>0)
    n++;
    }
    printf("%d",n);
    for(i=0;i<5;i++)
    {
        printf("%d",a[i]);
    }
    for(i=4;i=>0;i--)
    {
        printf("%d",a[i]);
    }
}
请帅哥美女帮忙修正。
搜索更多相关主题的帖子: 列位 
2010-07-07 10:25
以中
Rank: 3Rank: 3
来 自:长沙
等 级:论坛游侠
帖 子:108
专家分:129
注 册:2010-4-13
收藏
得分:0 
很抱歉,2楼的代码对我解题毫无帮助。
#include "stdio.h"
void main()
{
    int i,n=0,a[5];
   
    if(n<5)
    {
        for(i=0;i<5;i++)
           {
            scanf("%d",&a[i]);
             n++;
        if(a[i]==\n)
              break;
        else continue;
           }
    }   
    /*else  break;*/
   
   printf("%d",n);
    for(i=0;i<5;i++)
    {
        printf("%d",a[i]);
    }
    for(i=4;;i--)
    {
        printf("%d",a[i]);
    }
}

道之所存,师之所存。
2010-07-07 12:34
以中
Rank: 3Rank: 3
来 自:长沙
等 级:论坛游侠
帖 子:108
专家分:129
注 册:2010-4-13
收藏
得分:0 

我发现还有许多不足。
#include "stdio.h"
void main()
{
    int i,n=0;
    char a[5];
    printf ("请输入1个五位数,每输入一位敲一下确认键:\n");
    if(n<5)
    {
        for(i=0;i<5;i++)
           {
            scanf("%d",&a[i]);
             n++;
        if(a[i]=='\n')
              break;
        else continue;
           }
    }   
    /*else  break;*/
   
   printf("%d",n);
    for(i=0;i<5;i++)
    {
        printf("%d",a[i]);
    }
    for(i=4;i>=0;i--)
    {
        printf("%d",a[i]);
    }
}
1、求它是几位数?这一功能还没解决。

道之所存,师之所存。
2010-07-08 10:34
以中
Rank: 3Rank: 3
来 自:长沙
等 级:论坛游侠
帖 子:108
专家分:129
注 册:2010-4-13
收藏
得分:0 
写题目时弄错了,真对不起。
求这个正整数是几位数.
给定一个不多于5位的正整数,要求:1、求它是几位数;2、分别打印出每一位数字;3、按逆序打印出各位数字。例如原数为321,应输出123.

道之所存,师之所存。
2010-07-12 22:29
以中
Rank: 3Rank: 3
来 自:长沙
等 级:论坛游侠
帖 子:108
专家分:129
注 册:2010-4-13
收藏
得分:0 
#include <stdio.h>
#include<string.h>
void main()
{
    int i,n=0;
   char a[6];
    printf ("请输入一个不多于5位的正整数:\n");
    scanf("%s",a);
for(i=0;a[i]!='\0';++i){
++n;
}
printf("n=%d\n",n);
for(i=0;a[i]!='\0';++i){
printf("%d",a[i]);
}
for(i=5;i<=0;--i)
printf("%d",a[i]);
}
2、分别打印出每一位数字,3、按逆序打印出各位数字,没有实现

道之所存,师之所存。
2010-07-12 23:16
以中
Rank: 3Rank: 3
来 自:长沙
等 级:论坛游侠
帖 子:108
专家分:129
注 册:2010-4-13
收藏
得分:0 
解法一:
#include<stdio.h>
#include<string.h>
void main()
{  
    long int num;
    int indiv,ten,hundred,thousand,ten_thousand,place;
    printf("请输入一个整数(0~99999);");
    scanf("%ld",&num);
if(num>9999)
place=5;
else if(num>999)
place=4;
else if(num>99)
place=3;
else if(num>9)
place=2;
else place=1;
printf("place=%d\n",place);
printf("每位数字为:");
ten_thousand=num/10000;
thousand=(int)(num-ten_thousand*10000)/1000;
hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;
ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;
indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);
switch(place)
{
case 5:printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv);
       printf("\n反序数字为:");
       printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand);
       break;
case 4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);
       printf("\n反序数字为:");
       printf("%d%d%d%d%\n",indiv,ten,hundred,thousand);
       break;
case 3:printf("%d,%d,%d",hundred,ten,indiv);
       printf("\n反序数字为:");
       printf("%d%d%d%\n",indiv,ten,hundred);
       break;
case 2:printf("%d,%d",ten,indiv);
       printf("\n反序数字为:");
       printf("%d%d\n",indiv,ten);
       break;
case 1:printf("%d",indiv);
       printf("\n反序数字为:");
       printf("%d\n",indiv);
       break;
}
}
解法二:
#include<stdio.h>
#include<string.h>

void main()
{
    int i=0,k,n,num,a[5];
    scanf("%d",&num);
    if(num==0)
        return 0;
        if(num>99999)
        return 0;
    while(num!=0){
        a[i++]=num%10;
        num/=10;
    }
    printf("%d\n",i);
    for(k=i-1;k>=0;k--)
        printf("%d ",a[k]);
   
    for(k=0;k<i;k++)
        printf("%d ",a[k]);
   
    return 0;
}
解法三:

#include<stdio.h>
#include<string.h>



void main()
{  
    char strNumber[6];
    char intNumber[6];
    int strLength;int i;
        scanf("%s",strNumber);
    strLength=strlen(strNumber);
    if(strLength>5) printf("error");
    else
    printf("The length of the number is %d\n",strLength);
    for(i=0;i<strLength;i++)
    {   intNumber[i]=strNumber[i]-'0';}

        for(i=0;i<strLength;i++)
    {printf("%2d",intNumber[i]);}
   
    printf("\n");
    for(i=strLength-1;i>=0;i--)
    { printf("%2d",intNumber[i]);
    }
}

道之所存,师之所存。
2010-07-13 11:53
快速回复:求助,列位请进来帮帮小弟。
数据加载中...
 
   



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

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