我正在学习C.我们使用scanf
和printf
作为输入和输出数据
我们的课程中有一个问题:反转浮点数。
我的编程技巧很好,我可以很容易地做到这一点
例如,我的一个想法是将float
数字转换为int
,然后将其反转并再次转换为float
。还有很多其他的想法。
但我们的问题有一个限制。使用scanf
功能撤消号码。
我让老师给我一个代码。他给出了以下代码。对不起,因为我不明白代码。这段代码为12.33提供12和33,但是这段代码不适用于12.00001,因为我们得到12和1.当我们得到这个数字时,我们将它们反转并打印出来。我的教师问我一个解决这个问题的方法,但我找不到办法。存在一种方式不是必要的但是有可能帮助我吗?
我的老师代码:
int main(){
int a,b;
scanf("%d.%d", &a, &b);
printf("a = %d, b = %d", a, b);
}
感谢。
答案 0 :(得分:4)
如果不想进行任何计算,则以字符串格式获取,然后将其反转。
#include<stdio.h>
#include<string.h>
void main(){
char str[20];
printf("Enter number: ");
scanf( "%s" , str );
printf("\nReverse Number is: %s",strrev(str));
}
答案 1 :(得分:0)
#include<stdio.h>
#define MAX 20
void main(void) {
char str[MAX];
int i;
printf("Enter number: ");
scanf( "%s" , str );
for (i=0;i<MAX; i++){
printf("%c",str[MAX-1-i]);
}
}