求助:一道C语言编程题
题目:从键盘输入一整数,把这个整数的各位数字反序输出。用C语言编程,该怎样编写?能简要写明编程注释较佳,谢谢!!!...
题目:从键盘输入一整数,把这个整数的各位数字反序输出。
用C语言编程,该怎样编写?能简要写明编程注释较佳,谢谢!!! 展开
用C语言编程,该怎样编写?能简要写明编程注释较佳,谢谢!!! 展开
5个回答
展开全部
#include <stdio.h>
#include <math.h>
int main() {
int n;
scanf("%d", &n);
n = abs(n); //将正负数统一
if (n < 10) { //只有一位,直接输出
printf("%d\n", n);
return 0;
}
while(n) {
printf("%d", n%10); //将n模十取出个位数字输出
n /= 10; //将n除以10,相当于把这个数右移一位,将原来的十位置为个位,百位置为十位...以此类推
}
printf("\n");
return 0;
}
#include <math.h>
int main() {
int n;
scanf("%d", &n);
n = abs(n); //将正负数统一
if (n < 10) { //只有一位,直接输出
printf("%d\n", n);
return 0;
}
while(n) {
printf("%d", n%10); //将n模十取出个位数字输出
n /= 10; //将n除以10,相当于把这个数右移一位,将原来的十位置为个位,百位置为十位...以此类推
}
printf("\n");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdio.h"
#include "string.h"
main()
{char a[10],i,c;//定义一个数组
gets(a);//输入一个数;
c=strlen(a);//计算该数组长度
for(i=c;i>=0;i--)//反序输出
printf("%c,a[i]);
}
这种方式比较简单,用的是数组知识.希望对你有所帮助.
楼上的代码写的太长...不至于这么费劲..
#include "string.h"
main()
{char a[10],i,c;//定义一个数组
gets(a);//输入一个数;
c=strlen(a);//计算该数组长度
for(i=c;i>=0;i--)//反序输出
printf("%c,a[i]);
}
这种方式比较简单,用的是数组知识.希望对你有所帮助.
楼上的代码写的太长...不至于这么费劲..
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
void main()
{
int n;
printf("Input a int:");
scanf("%d", &n); //输入整数
if(n <= 9)
{
printf("%d", n%10);
}
else
if(n <= 99)
{
printf("%d", n%10);
printf("%d", n/10%10);
}
else
if(n <= 999)
{
printf("%d", n%10);
printf("%d", n/10%10);
printf("%d", n/100%10);
}
else
if (n <= 9999)
{
printf("%d", n%10);
printf("%d", n/10%10);
printf("%d", n/100%10);
printf("%d", n/1000%10);
}
else
if (n <= 99999)
{
printf("%d", n%10);
printf("%d", n/10%10);
printf("%d", n/100%10);
printf("%d", n/1000%10);
printf("%d", n/10000%10);
}
printf("\n");
}
没有注释应该也可以看的懂吧
你的说明太少了
void main()
{
int n;
printf("Input a int:");
scanf("%d", &n); //输入整数
if(n <= 9)
{
printf("%d", n%10);
}
else
if(n <= 99)
{
printf("%d", n%10);
printf("%d", n/10%10);
}
else
if(n <= 999)
{
printf("%d", n%10);
printf("%d", n/10%10);
printf("%d", n/100%10);
}
else
if (n <= 9999)
{
printf("%d", n%10);
printf("%d", n/10%10);
printf("%d", n/100%10);
printf("%d", n/1000%10);
}
else
if (n <= 99999)
{
printf("%d", n%10);
printf("%d", n/10%10);
printf("%d", n/100%10);
printf("%d", n/1000%10);
printf("%d", n/10000%10);
}
printf("\n");
}
没有注释应该也可以看的懂吧
你的说明太少了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdio.h"
int fun(int x) /*递归算法*/
{
if(x==0)
return 0;
else{
printf("%d",x%10);/*先输出最后一位数*/
fun(x/10);/*去掉最后一位后在打印倒数第2位(如此循环知道打完)*/
}
}
main()
{
int x;
printf("请输入你要的数字");
scanf("%d",&x);
printf("输出:");
fun(x);
printf("\n");
return 0;
}
c++下 运行通过
int fun(int x) /*递归算法*/
{
if(x==0)
return 0;
else{
printf("%d",x%10);/*先输出最后一位数*/
fun(x/10);/*去掉最后一位后在打印倒数第2位(如此循环知道打完)*/
}
}
main()
{
int x;
printf("请输入你要的数字");
scanf("%d",&x);
printf("输出:");
fun(x);
printf("\n");
return 0;
}
c++下 运行通过
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#include <stdlib.h>
void revprint(int n)
{
int i=n, j;
j=i%10;
i=i/10;
printf("%d", j);
if(i != 0)
revprint(i);
}
int main()
{
int num; //如果数据很大, 用 long ,函数参数类型也对应修改一下就可以...
printf("Please input the number:");
scanf("%d",&num);
revprint(num);
system("PAUSE");
return 0;
}
#include <stdlib.h>
void revprint(int n)
{
int i=n, j;
j=i%10;
i=i/10;
printf("%d", j);
if(i != 0)
revprint(i);
}
int main()
{
int num; //如果数据很大, 用 long ,函数参数类型也对应修改一下就可以...
printf("Please input the number:");
scanf("%d",&num);
revprint(num);
system("PAUSE");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询