| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 597 人关注过本帖
标题:新手上路,求解。。。。不知错哪了?
只看楼主 加入收藏
wu2782641803
Rank: 2
等 级:论坛游民
帖 子:65
专家分:46
注 册:2013-10-28
结帖率:88.24%
收藏
已结贴  问题点数:18 回复次数:5 
新手上路,求解。。。。不知错哪了?
#include <stdio.h>
#include <math.h>
int main()
{
int num,indiv,ten,hundred,thousand,ten_thousand,place;
//分别代表个位,十位,百位,千位,万位和位数
printf("请输入一个整数(0~99999):");
scanf(("%d",&sum);
if(num>9999)
place=5;
else if(num>999)
place=4;
else if(num>99)
place=3;
else if(num>9)
place=2;
else place=1;
printf("位数:%d\n",place);
printf("每位数字为:");
ten_thousand=num/10000;
thousand=(int)(num-ten_thousand*10000)/1000;
hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;
ten=(int)(num-ten_thousand*10000-thousand1000-hundred*100)/10;
indiv=(int)(num-trn_thunsand*10000-thousand*1000-hundred*100-ten*10);
switch(place)
{
case 5:printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv);
    printf("\n反序数字为:");
    printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand);
    break;
case 4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);
    printf("\n反序数字为:");
    printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand);
    break;
case 3:printf("%d,%d,%d",hundred,ten,indiv);
    printf("\n反序数字为:");
    printf("%d%d%d\n",indiv,ten,hundred);
    break;
case 2:printf("%d,%d",ten,indiv);
    printf("\n反序数字为:");
    printf("%d%d\n",indiv,ten);
    break;
case 1:printf("%d",indiv);
    printf("\n反序数字为:");
    printf("%d\n",indiv);
    break;
}
return 0;
}
搜索更多相关主题的帖子: 新手上路 include 
2013-11-03 22:27
xixiqiqi
Rank: 2
等 级:论坛游民
帖 子:22
专家分:71
注 册:2013-10-10
收藏
得分:10 
#include <stdio.h>
#include <math.h>
int main()
{
int num,indiv,ten,hundred,thousand,ten_thousand,place;
//分别代表个位,十位,百位,千位,万位和位数
printf("请输入一个整数(0~99999):");
scanf("%d",&num);    // 1.多了"(" 2.sum应为num
if(num>9999)
place=5;
else if(num>999)
place=4;
else if(num>99)
place=3;
else if(num>9)
place=2;
else place=1;
printf("位数:%d\n",place);
printf("每位数字为:");
ten_thousand=num/10000;
thousand=(int)(num-ten_thousand*10000)/1000;
hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;
ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;  // thousand1000应为thousand*1000
indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10); // trn_thunsand应为ten_thousand
switch(place)
{
case 5:printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv);
    printf("\n反序数字为:"); // ;因为;
    printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand);
    break;
case 4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);
    printf("\n反序数字为:"); // ;因为;
    printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand);
    break;
case 3:printf("%d,%d,%d",hundred,ten,indiv);
    printf("\n反序数字为:"); // ;因为;
    printf("%d%d%d\n",indiv,ten,hundred);
    break;
case 2:printf("%d,%d",ten,indiv);
    printf("\n反序数字为:");
    printf("%d%d\n",indiv,ten);
    break;
case 1:printf("%d",indiv);
    printf("\n反序数字为:");
    printf("%d\n",indiv);
    break;
}
return 0;
}
2013-11-03 22:42
寒冷枫dl
Rank: 2
等 级:论坛游民
帖 子:23
专家分:18
注 册:2013-11-2
收藏
得分:4 
第一case 3:printf("%d,%d,%d",hundred,ten,indiv);
     printf("\n反序数字为:");
     printf("%d%d%d\n",indiv,ten,hundred);
     break;
我检查到一个简单的问题,你在打逗号时,输入法没跳回来。 ‘ ;’ ‘;’不是只有这一处,前面也有一些,你仔细找一下。
第二 scanf(("%d",&sum);     sum你拼错了,正确的应该是num。因为在前面的int定义的时候,定义的是num。
 第三      //分别代表个位,十位,百位,千位,万位和位数
 printf("请输入一个整数(0~99999):");
 scanf(("%d",&num);在最后的地方少了一个括号  )。
第四
 ten=(int)(num-ten_thousand*10000-thousand1000-hundred*100)/10;
 indiv=(int)(num-trn_thunsand*10000-thousand*1000-hundred*100-ten*10);在这里有拼错了,num-trn_thunsand,应为num-ten_thousand 。
第五 ten=(int)(num-ten_thousand*10000-thousand1000-hundred*100)/10;在这里thousand1000错了,应为thousand*1000 。
第六应定义char num;。
错误是改出来了,但是感觉那里还是错的,检查下你的思路。

2013-11-04 00:15
南国神画
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:51
专家分:124
注 册:2013-10-24
收藏
得分:4 
程序代码:
#include <stdio.h>
#include <math.h>
int main()
{
int num=0,indiv,ten,hundred,thousand,ten_thousand,place;
//分别代表个位,十位,百位,千位,万位和位数
printf("请输入一个整数(0~99999):");
scanf("%d",&num);
if(num>9999)
place=5;
else if(num>999)
place=4;
else if(num>99)
place=3;
else if(num>9)
place=2;
else place=1;
printf("位数:%d\n",place);
printf("每位数字为:");
ten_thousand=num/10000;
thousand=(int)(num-ten_thousand*10000)/1000;
hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;
ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;
indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);
switch(place)
{
case 5:printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv);
    printf("\n反序数字为:");
    printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand);
    break;
case 4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);
    printf("\n反序数字为:");
    printf("%d%d%d%d\n",indiv,ten,hundred,thousand);
    break;
case 3:printf("%d,%d,%d",hundred,ten,indiv);
    printf("\n反序数字为:");
    printf("%d%d%d\n",indiv,ten,hundred);
    break;
case 2:printf("%d,%d",ten,indiv);
    printf("\n反序数字为:");
    printf("%d%d\n",indiv,ten);
    break;
case 1:printf("%d",indiv);
    printf("\n反序数字为:");
    printf("%d\n",indiv);
    break;
}
return 0;
} 



       首先,你这大部分错误时拼写错误,或者就是*的数字多了,具体哪一行就不指出了,我帮你改了一下,现在大体上按照你的意思是能满足要求了,但是,你这个数字的反序列的前导的0这个程序是无法消去的,不过要看你的题目要求了。呵呵


2013-11-04 11:57
官少
Rank: 2
等 级:论坛游民
帖 子:11
专家分:21
注 册:2013-10-22
收藏
得分:0 
大一新手表示看不懂
2013-11-04 12:22
寒冷枫dl
Rank: 2
等 级:论坛游民
帖 子:23
专家分:18
注 册:2013-11-2
收藏
得分:0 
回复 5楼 官少
哥们同感,我也大一的新手。
2013-11-04 13:07
快速回复:新手上路,求解。。。。不知错哪了?
数据加载中...
 
   



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

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