| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
大量收QQ微信精准粉/交友粉,非诚勿扰千里之行 始于足下
共有 642 人关注过本帖
标题:求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);
}
2018-06-13 21:54
dzy123
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:356
专家分:800
注 册: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: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:山咔咔里面
等 级:版主
威 望:15
帖 子:105
专家分:577
注 册: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);
}
2018-06-13 22:47
自学的数学
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:603
专家分:2418
注 册: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: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:山咔咔里面
等 级:版主
威 望:15
帖 子:105
专家分:577
注 册:2018-3-30
  得分:0 
回复 4楼 自学的数学
那个只是输入格式限制,scanf输入的时候两个数字之间必须是一个逗号,他原来代码就有,我没改。
删了那个逗号输入两个数字中间留空格,一样的吧?
2018-06-13 23:54
自学的数学
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:603
专家分:2418
注 册:2017-11-15
  得分:0 
回复 5楼 幻紫灵心
这也许和编译器有关吧,我用的是DEVCPP.  
2018-06-14 00:14
lin5161678
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:410
专家分:1476
注 册:2011-12-3
  得分:0 
回复 6楼 自学的数学
和编译器没关系
scanf 第一个参数指定输入格式
输入格式有逗号就得输入逗号没逗号就不用输入逗号
2018-06-14 00:24
lin5161678
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:410
专家分:1476
注 册:2011-12-3
  得分:0 
a=a*10+a;这句话错了
假设 a是22
a = 22*10+22
结果是 242 不是你预期的222
2018-06-14 00:25
自学的数学
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:603
专家分:2418
注 册:2017-11-15
  得分:0 
我突然发现了2楼3楼4楼的代码都有问题,不过这个问题好处理。我现在使用的是手机,不方便写代码。天亮了再改。ok.
2018-06-14 00:42
自学的数学
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:603
专家分:2418
注 册: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







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

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