| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1571 人关注过本帖
标题:各位哥哥姐姐们,直接scanf()给数组赋值后,换了这种怎么付不了值?出问题 ...
只看楼主 加入收藏
TIMFannie
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2017-10-15
结帖率:84.21%
收藏
已结贴  问题点数:18 回复次数:7 
各位哥哥姐姐们,直接scanf()给数组赋值后,换了这种怎么付不了值?出问题的地方我注释了。愁
#include<stdio.h>

int main()
{

int a[5],n=0,deno=1,x,t,c=1,m,i,s;
while(c)
{printf("请输入一个不多于5位的正整数");
scanf("%d",&x);
s=x;
c=x/100000;
}

do
{x/=10; n+=1;
}while(x!=0);
printf("该数有%d位",n);

t=n;
putchar('\n');
for(m=0;m<t;m++,n--)
{for(i=1;i<=n;i++)deno*=10;
 a[m]=s/deno;    //这里好像赋值不了,我看了好久看不出来。。。
}

for(m=0;m<t;m++)printf("%d ",a[m]);  
putchar('\n');
for(n=t;n>=1;n--)printf("%d",a[n-1]);

return 0;

}
搜索更多相关主题的帖子: 哥哥 scanf 赋值 printf for 
2017-11-08 16:00
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:1 
        for(i=1; i<=n; i++) deno*=10;
        printf("deno=%d\n",deno); //在这时加一句看看deno
2017-11-08 16:25
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:1 
我也看了好一会儿,
你要准备做些什么,说都不说明白!
简直了

早知做人那么辛苦!  当初不应该下凡
2017-11-08 16:27
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:633
专家分:3045
注 册:2011-4-22
收藏
得分:1 
a[m]=s/deno;
前面是整形,缺个类型转换。
2017-11-08 16:41
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:15 
代码思路错误,如下修改即可:
……
    putchar('\n');
    for(m=0;m<t;m++,n--)
    {
        for(i=deno=1;i<n;i++)deno*=10;   //deno必须赋初值1,否则累加到最后有10的10次方了,循环逻辑必须是i<n,不能是i<=n
        a[m]=s/deno;    //这里好像赋值不了,我看了好久看不出来。。。
        s-=a[m]*deno;   //每次把高位依次存储后,s的值必须依次减去最高位
    }
……

能编个毛线衣吗?
2017-11-08 16:57
TIMFannie
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2017-10-15
收藏
得分:0 
谢谢,我以后有机会提问会加些说明的。麻烦你们废神了!!
2017-11-08 23:46
TIMFannie
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2017-10-15
收藏
得分:0 
回复 5楼 wmf2014
谢谢,我以后有机会提问会加些说明问题的。麻烦你们废神了!!我刚来学编程的。。
2017-11-08 23:48
jimmy221b
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-11-14
收藏
得分:0 
看不出来

[此贴子已经被作者于2017-11-14 13:57编辑过]

2017-11-14 13:56
快速回复:各位哥哥姐姐们,直接scanf()给数组赋值后,换了这种怎么付不了值? ...
数据加载中...
 
   



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

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