| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1175 人关注过本帖, 1 人收藏
标题:新人不懂!这个程序所表示的表达式不能算出正确的值!哪里错了?
只看楼主 加入收藏
liu229118351
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:83
专家分:101
注 册:2013-10-23
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:16 
新人不懂!这个程序所表示的表达式不能算出正确的值!哪里错了?
求表达式s=aa...aa-...-aaa-aa-a(a...a表示无数个a),a,n的值在1-9之间,例如a=3,n=6,s=333333-33333-3333-333-33-3
程序如下:
#include<stdio.h>
void main()
{
    int j,s,t;
    int a,n;
    printf("please input:");
    scanf("%d%d",&a,&n);
    for(j=0;j<n;n++)
    {
        t=t*10+a;
        s=t;
        for(j=1;j<n;j++)
        {
            t=t%10;
            s=s-t;
        }
    }
    printf("\nthe result is:%d\n",s);
}
搜索更多相关主题的帖子: please 表达式 
2013-10-31 20:42
liu229118351
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:83
专家分:101
注 册:2013-10-23
收藏
得分:0 
是不是循环结构哪里出问题了啊?

单曲循环,需要信心+耐心+恒心
2013-10-31 20:43
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
结果是什么
2013-10-31 20:45
liu229118351
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:83
专家分:101
注 册:2013-10-23
收藏
得分:0 
回复 3楼 tlliqi
就按照那个表达式我赋值a和n都为4的话结果只有40,但是实际上不是应该是4444-444-44-4么。。

单曲循环,需要信心+耐心+恒心
2013-10-31 20:48
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:7 
scanf("%d%d",&a,&n);
不加个空格?
scanf("%d %d",&a,&n);
可以先计算前面那一窜被减数只和,在一次性减去这个和,这样比较方便点,

void main()
{
    int a,n;
    scanf("%d %d",&a,&n);
    int num = 0;
    int sub = 0;

    for (int i = 0;i < n; i++) {
        sub += num;
        num = num * 10 + a;
    }

   num -= sub;

    printf("\nthe result is:%d\n",num);
}

没有做容错,自己修理一下咯


我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-10-31 20:54
liu229118351
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:83
专家分:101
注 册:2013-10-23
收藏
得分:0 
回复 5楼 yuccn
谢谢了!!有用!

单曲循环,需要信心+耐心+恒心
2013-10-31 21:01
xp0213
Rank: 7Rank: 7Rank: 7
来 自:湖北武汉
等 级:黑侠
威 望:1
帖 子:222
专家分:524
注 册:2011-10-26
收藏
得分:2 
#include<stdio.h>
void main()
{
    int j,s,t;
    int a,n;
    printf("please input:");
    scanf("%d%d",&a,&n);
    t=a;
    for(j=1;j<=n;j++)
    {
        s=a;
        a=a*10+t;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
    }

    for(j=1;j<n;j++)
    {
        s-=t;
        t=t*10+t;
    }

    printf("\n the result is:%d\n",s);
}
2013-10-31 21:14
重邮肖冬冬
Rank: 1
等 级:新手上路
帖 子:6
专家分:2
注 册:2013-10-25
收藏
得分:2 
#include<stdio.h>
void main()
{
    int j,s,t=0;
    int a,n;
    printf("please input:");
    scanf("%d,%d",&a,&n);
for(;n>0;n--)
{
    t=0;
    for(j=0;j<n;j++)
    {
        t=t*10+a;
        s=t;
      
    }
    printf("%d-",s);
}
}
2013-10-31 22:27
zhangqidaxia
Rank: 2
等 级:论坛游民
帖 子:17
专家分:22
注 册:2013-10-16
收藏
得分:0 
t没有赋值
2013-11-01 07:52
zerolu
Rank: 1
等 级:新手上路
帖 子:20
专家分:9
注 册:2013-10-31
收藏
得分:0 
回复 7楼 xp0213
我觉得你的循环有问题,差一次的吧?
2013-11-01 10:12
快速回复:新人不懂!这个程序所表示的表达式不能算出正确的值!哪里错了?
数据加载中...
 
   



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

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