无情修罗 发表于 2014-12-17 21:12:36

一个不知道那里有问题的简单的题

编写一程序P793.C实现以下功能
  从键盘读入一个数n(必须使用long int),先逆序输出n的各位数,再输出n的各位数之和。编程可用素材:printf("请输入一个数:")、printf("\n该数的各位数之逆序为:")、printf("\n该数的各位数之和为:%d\n"…。
提交时,提示
失分,未实现:使用测试用例X时,逆序输出各位数正确

失分,未实现:使用测试用例X时,各位数和输出正确

  程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内
#include<stdio.h>
int main()
{
        int a;
        int i,sum=0,j=0,m=0,k=1,chushu=10;
        long int n;
        printf("请输入一个数:");
        scanf("%d",&n);
        for(i=1;;i++)
        {
                m++;
                if(n/k!=0)
                {
                        k=k*10;
                       
                }
                else if(n/k==0)
                {
                        break;
                }
        }
        printf("\n该数的各位数之逆序为:");
        for(i=1;i<=m;i++)
        {
                a=(n%chushu)/(chushu/10);
                j++;
                n=n-a;
                chushu=chushu*10;
               
        }
        for(i=1;i<j;i++)
        {
                printf("%d",a);
                sum=sum+a;
        }
        printf("\n该数的各位数之和为:");
       
        printf("%d",sum);

        return 0;

}
容。

735899422 发表于 2014-12-17 21:12:37

int a;
while(1)
{
int i=0
if(n/10)
{
a=n%10;
i++;
}\\如果这个数除以10的商不是0,那么把这个数除以10的余数赋值给a
else break;\\如果这个数除以10等于0那么就不继续虚幻了
}

Dardy 发表于 2014-12-19 23:39:12

%d   int
%ldlong int

无情修罗 发表于 2014-12-20 10:09:40

Dardy 发表于 2014-12-19 23:39
%d   int
%ldlong int

失分,未实现:使用测试用例X时,逆序输出各位数正确

失分,未实现:使用测试用例X时,各位数和输出正确
还是这个提示

过客ztc 发表于 2014-12-20 15:47:21

{:1_1:}

735899422 发表于 2014-12-23 13:21:10

int a;
while(1)
{
int i=0
if(n/10) a=n%10;\\如果这个数除以10的商不是0,那么把这个数除以10的余数赋值给a
else break;\\如果这个数除以10等于0那么就不继续虚幻了
}

zjc78361 发表于 2015-1-20 15:43:29

看来还是不熟悉啊
页: [1]
查看完整版本: 一个不知道那里有问题的简单的题