C语言实验——整数位

C语言整数位操作

C语言实验——整数位

Time Limit: 1000MS Memory Limit: 65536KB

Problem Description

输入一个不多于5位的正整数,要求: 
(1)求出它是几位数; 
(2)分别输出每一位数字; 
(3)按逆序输出各位数字。

Input

输入一个不多于5位的正整数。

Output

输出数据有3行,第一行为正整数位数,第二行为各位数字,第三行为逆序的各位数字。

Example Input

123

Example Output

3
1 2 3
3 2 1
#include<stdio.h>
#define N 5
int main()
{
int num,a[N],i,j;

scanf("%d",&num);
for(i=0;i<N&&num>0;i++)
a[i]=num%10,num/=10;
printf("%d\n",i);

for(j=i-1;j>=0;j--)
    if(j==i-1)printf("%d",a[j]);
else
printf(" %d",a[j]);

printf("\n");
for(j=0;j<i;j++)
    if(j==0)printf("%d",a[j]);
else
printf(" %d",a[j]);
return 0;
}

### C语言中控制小数数的方法 在C语言中,`printf` 和 `sprintf` 是常用的格式化输出函数,它们可以通过指定格式说明符来控制浮点数的小数数。具体来说,通过 `%[flags][width].[precision]specifier` 的形式可以实现这一功能。 #### 使用 `printf` 控制小数数 对于 `printf` 函数,其格式化字符串中的 `.precision` 部分决定了浮点数的小数数。例如: ```c #include <stdio.h> int main() { double num = 3.1415926; printf("%.2f\n", num); // 输出两小数 return 0; } ``` 上述代码会输出 `3.14`[^2]。其中,`.2` 表示保留两小数,而 `f` 则指定了数据类型为浮点数。 如果需要更复杂的格式设置,比如固定宽度和精度,则可以组合使用 `[width]` 和 `[.precision]` 参数。例如: ```c #include <stdio.h> int main() { double pi = 3.14159265358979323846264338327950288; printf("%10.6f\n", pi); // 宽度为10,保留6小数 return 0; } ``` 此代码将输出右对齐的十字符宽的结果,显示六小数后的圆周率值。 #### 使用 `sprintf` 实现相同效果 `sprintf` 函数的功能类似于 `printf`,但它不是直接向终端输出内容,而是将结果写入缓冲区或字符串变量中。同样支持通过格式化字符串控制小数数。下面是一个简单的例子: ```c #include <stdio.h> #include <string.h> int main(){ char buffer[50]; double value = 123.456; int count = sprintf(buffer, "%.2f", value); printf("Formatted string: %s\n", buffer); // 显示格式化的字符串 printf("Number of characters written: %d\n", count); // 打印写入字符的数量 return 0; } ``` 这段程序先调用了 `sprintf` 把数值按照设定好的格式存放到 `buffer` 数组里,接着再利用普通的 `printf` 展现出最终的效果以及记录下的实际长度[^4]。 综上所述,在C语言里面无论是屏幕上的即时展示还是存储于内存区域内的预处理操作都可以借助相应的格式描述词达到精确调整数值呈现形态的目的。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值