标题:求aaaa(n个a)-aaaa...-aaa-aa-a类似问题
只看楼主
崔大大12365
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-5-21
结帖率:0
 问题点数:0 回复次数:10 
求aaaa(n个a)-aaaa...-aaa-aa-a类似问题
求aaaa(n个a)-aaaa...-aaa-aa-a类似问题
如当a=2,n=3时应该是222-22-2=198,但为啥我的代码不是这个结果,求大佬解释
#include<stdio.h>
void main()
{
int a,i,n, sum=0;
scanf("%d,%d",&a,&n);
for(i=1;i<=n-1;i++)
{
sum=sum+a;
a=a*10+a;
}
printf("%d\n",a-sum);
}
搜索更多相关主题的帖子: sum scanf for i++ printf 
2018-06-13 21:54
dzy123
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:379
专家分:820
注 册:2013-4-18
得分:0 
#include<stdio.h>
int main()
{
    int a, i, n,temp, sum = 0;
    scanf("%d%d", &a, &n);
    temp=a;
    for (i = 1; i <= n - 1; i++)
    {
        sum += temp;
        temp=temp*10+a;
    }
    printf("%d\n", temp - sum);
    return 0;
}
2018-06-13 22:35
幻紫灵心
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山咔咔里面
等 级:贵宾
威 望:53
帖 子:395
专家分:2640
注 册:2018-3-30
得分:0 
程序代码:
#include<stdio.h>
int main()
{
    int a,b,i,n, sum=0;
    scanf("%d,%d",&a,&n);
    b=a;
    for(i=1;i<n;i++)
    {
        sum=sum+a;
        a=a*10+b;
    }
    printf("%d\n",a-sum);
}

saber,别哭.
2018-06-13 22:47
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
回复 3楼 幻紫灵心
你的代码,你没运行吗?不对的,原因是:多了一个逗号,改后如下就可以了:
程序代码:
#include<stdio.h>
int main()
{
    int a,b,i,n, sum=0;
    scanf("%d%d",&a,&n);
    b=a;
    for(i=1;i<n;i++)
    {
        sum=sum+a;
        a=a*10+b;
    }
    printf("%d\n",a-sum);
}
2018-06-13 23:23
幻紫灵心
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山咔咔里面
等 级:贵宾
威 望:53
帖 子:395
专家分:2640
注 册:2018-3-30
得分:0 
回复 4楼 自学的数学
那个只是输入格式限制,scanf输入的时候两个数字之间必须是一个逗号,他原来代码就有,我没改。
删了那个逗号输入两个数字中间留空格,一样的吧?

saber,别哭.
2018-06-13 23:54
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
回复 5楼 幻紫灵心
这也许和编译器有关吧,我用的是DEVCPP.  
2018-06-14 00:14
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
得分:0 
回复 6楼 自学的数学
和编译器没关系
scanf 第一个参数指定输入格式
输入格式有逗号就得输入逗号没逗号就不用输入逗号

https://zh.
2018-06-14 00:24
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
得分:0 
a=a*10+a;这句话错了
假设 a是22
a = 22*10+22
结果是 242 不是你预期的222

https://zh.
2018-06-14 00:25
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
我突然发现了2楼3楼4楼的代码都有问题,不过这个问题好处理。我现在使用的是手机,不方便写代码。天亮了再改。ok.
2018-06-14 00:42
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
这样就可以了:
程序代码:
#include<stdio.h>
int main()
{
    int a,b,i,n, sum=0;
    scanf("%d%d",&a,&n);
    b=a;
    if(a<1||a>9)
       printf("a不符合条件");
       else{
           for(i=1;i<n;i++)
          {
           sum=sum+a;
           a=a*10+b;
          }
           printf("%d\n",a-sum);
       }
}
2018-06-14 10:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-487877-1-1.html




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

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