鱼C论坛

 找回密码
 立即注册
查看: 4172|回复: 6

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

[复制链接]
发表于 2014-12-17 21:12:36 | 显示全部楼层 |阅读模式
5鱼币
编写一程序P793.C实现以下功能
  从键盘读入一个数n(必须使用long int),先逆序输出n的各位数,再输出n的各位数之和。编程可用素材:printf("请输入一个数:")、printf("\n该数的各位数之逆序为:")、printf("\n该数的各位数之和为:%d\n"…。
提交时,提示
失分[25],未实现:使用测试用例X时,逆序输出各位数正确

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

  程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内
#include<stdio.h>
int main()
{
        int a[11];
        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[i]=(n%chushu)/(chushu/10);
                j++;
                n=n-a[i];
                chushu=chushu*10;
                
        }
        for(i=1;i<j;i++)
        {
                printf("%d",a[i]);
                sum=sum+a[i];
        }
        printf("\n该数的各位数之和为:");
        
        printf("%d",sum);

        return 0;

}
QQ截图201412172fgf11353.png 容。

最佳答案

查看完整内容

int a[11]; while(1) { int i=0 if(n/10) { a=n%10; i++; }\\如果这个数除以10的商不是0,那么把这个数除以10的余数赋值给a else break;\\如果这个数除以10等于0那么就不继续虚幻了 }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-12-17 21:12:37 | 显示全部楼层
int a[11];
while(1)
{
int i=0
  if(n/10)
{
a[i]=n%10;
i++;
}\\如果这个数除以10的商不是0,那么把这个数除以10的余数赋值给a[i]
else break;\\如果这个数除以10等于0那么就不继续虚幻了
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-12-19 23:39:12 | 显示全部楼层
%d   int
%ld  long int
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-12-20 10:09:40 | 显示全部楼层
Dardy 发表于 2014-12-19 23:39
%d   int
%ld  long int

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

失分[20],未实现:使用测试用例X时,各位数和输出正确
还是这个提示
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-12-20 15:47:21 | 显示全部楼层
{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-12-23 13:21:10 | 显示全部楼层
int a[11];
while(1)
{
int i=0
  if(n/10) a[i]=n%10;\\如果这个数除以10的商不是0,那么把这个数除以10的余数赋值给a[i]
else break;\\如果这个数除以10等于0那么就不继续虚幻了
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-1-20 15:43:29 | 显示全部楼层
看来还是不熟悉啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-2-24 13:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表