标题:关于SWITCH和IF的简单题
取消只看楼主
编程真难学啊
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-8-9
 问题点数:0 回复次数:0 
关于SWITCH和IF的简单题
题目如下,代码我已经编出来了(我初学可能编的麻烦)大家有没有更好的办法在少改原代码的基础上,改进一下,
只用"IF"和"SWITCH"来编
输入一下不多于5位的正整数,1.分别打印出每一位的数字
#include <math.h>
main()
{
unsigned long a,b,c,d,e,f;
scanf("%ld",&a);
if(a<=99999&&a>=10000)
{b=a/10000;c=(a%10000-a%1000)/1000;d=(a%1000-a%100)/100;e=(a%100-a%10)/10;f=a%10;
printf("%ld,%ld,%ld,%ld,%ld",b,c,d,e,f);}
if(a<=9999&&a>=1000)
{b=a/1000;c=(a%1000-a%100)/100;d=(a%100-a%10)/10;e=a%10;
printf("%ld,%ld,%ld,%ld",b,c,d,e);}
if(a<=999&&a>=100)
{b=a/100;c=(a%100-a%10)/10;d=a%10;
printf("%ld,%ld,%ld",b,c,d);}
if(a<=99&&a>=10)
{b=a/10;c=a%10;
printf("%ld,%ld",b,c);}
if(a<=9&&a>=1)
printf("%ld",a);
}
2,按逆序打印出各位的数字,比如567输出为785我的代码;
#include <stdio.h>
main()
{
unsigned long a,b,c,d,e,f;
printf("input a");
scanf("%ld",&a);
if(a<=9&&a>=1)printf("%d",a);
else if(a<=99&&a>=10){b=a%10;c=a/10;
printf("%ld,%ld",b,c);}
else if(a<=999&&a>=100)
{b=a%10;c=(a%100-a%10)/10;d=a/100;
printf("%ld,%ld,%ld",b,c,d);}
else if(a<=9999&&a>=1000)
{b=a%10;c=(a%100-a%10)/10;d=(a%1000-a%100)/100;e=a/1000;
printf("%ld,%ld,%ld,%ld",b,c,d,e);}
else if(a<=99999&&a>=10000)
{b=a%10;c=(a%100-a%10)/10;d=(a%1000-a%100)/100;e=(a%10000-a%1000)/1000;f=a/10000;
printf("%ld,%ld,%ld,%ld,%ld",b,c,d,e,f);}


另外还有一题明天再加!
搜索更多相关主题的帖子: IF SWITCH 
2006-08-19 22:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-85066-1-1.html




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

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