| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3571 人关注过本帖
标题:输出结果不对
只看楼主 加入收藏
dod007
Rank: 1
等 级:新手上路
帖 子:6
专家分:8
注 册:2016-10-3
收藏
得分:3 
#include<stdio.h>
int main()                          /*这儿最好加上返回值类型int*/
{
    int a,n,i,j;
    int sum=0;
   
    printf("请输入a 和 n 的值:");
    scanf("%d %d",&a,&n);
    printf("a=%d n=%d",a,n);

    for(i=1;i<=n;i++)                  /*我完全想不明白你为什么要用双重循环,下面的表达式中和"j"半毛钱关系没有好吧??*/
    {
        for(j=1;j<=i;j++)
        {
            sum=sum+a;
            a=a*10;
        }
    }
    printf("%d",sum);                            /*这里最好加\n*/
     
    return 0;
}
修改如下:
#include<stdio.h>
int main()
{
    int a,n,i,j;
    int b=0;
    int sum=0;
   
    printf("请输入a 和 n 的值:\n");
    scanf("%d%d",&a,&n);
    printf("a=%d n=%d\n",a,n);

    for(i=1;i<=n;i++)
    {
        b=b+a;
        a=a*10;
        sum=sum+b;
    }
    printf("%d\n",sum);
     
    return 0;
}
2016-10-15 19:37
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:6 
以下是引用炎天在2016-10-15 19:31:17的发言:

 for(i=0,sum=0,j=a;i<n;i++,j=j*10+a)sum+=j;
我对这个循环没怎么看懂  设 a=3  n=2
循环开始
1.i=0 sum=0 j=3;...j=3*10+3    sum+=j sum=0+33=33            //循环开始j是等于3,只有第一次循环结束才会执行j=3*10+3
2.i=1 sum=33 j=3;i<n;... j=3*10+3     sum+=j  sum=33+33=66
不知道我哪里错了

2016-10-15 19:37
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:0 
回复 12楼 linlulu001
谢谢

早知做人那么辛苦!  当初不应该下凡
2016-10-15 20:07
百里
Rank: 2
等 级:论坛游民
帖 子:34
专家分:66
注 册:2016-10-1
收藏
得分:1 
回复 10楼 炎天
九楼的没有错
2016-10-16 11:55
快速回复:输出结果不对
数据加载中...
 
   



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

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