刚刚开始学习C语言,碰到难题(题目如下),哪位大侠帮我分析分析,不胜感激!

定义一个整型变量num,对其初始化,计算求出该数的个位,将结果保存到变量ret中,然后输出结果ret,并将其将其输出注意输入使用scanf输入 。
比如:
输入 3456输出为6
输入 2344输出为4
*

#include<stdio.h>
void main()
{ int num,ret; //定义变量
scanf("%d",&num); //输入整型数据
ret=num%10; //用求模运算求取个位并赋值,即求num除以10的余数
printf("%d\n",ret); //输出结果
}追问

太谢谢你了。可是如果再依次输出百位,千位,万位等等又怎麼做,还有依次逆向输出(比如输入4567,依次输出7654)又怎麼做?拜谢!

追答

计算个位:n%10
计算十位:n=n/10,n%10
计算百位:n=n/100,n%10
n=4567;
while ( n!=0 )
{ printf("%d",n%10); n=n/10;
}

追问

你好,我还是没搞明白,当输入4567,然後一次性输出7654?求详解。谢谢!

追答

4567%10=7
4567/10=456 456%10=6
456/10=45 45%10=5
45/10=4 4%10=4
4/10=0 循环结束

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-19
#include <stdio.h>
void main (int argc, char * argv[])
{
int v;
printf("Enter a value:");
scanf("%d", &v);
printf("%d", v % 10);
getch();
}
第2个回答  2013-05-19
void main()
{
int num,sub;
printf("输入数:");
scanf("%d",&num);
sub=num%10;
printf("个位数:%d \n",sub);
}