练习 3-6 修改itoa函数,使得该函数可以接收三个参数。其中,第三个参数为最小字段宽度。为了保证转换后所得的结果至少具有第三个参数指定的最小宽度,在必要时应在所得结果的左边填充一定的空格。
来源:互联网 发布:2015年贵州旅游数据 编辑:程序博客网 时间:2024/05/16 11:10
这道题目,我是在自己写的练习3-4的程序的基础上进行修改的:
#include <stdio.h>#include <limits.h>void itoa(int n, char s[], int m);void reverse(char s[]);int main(){ int n; char s[100]; n=INT_MIN; itoa(n,s,15); for(int i=0;s[i]!='\0';++i){ printf("%c",s[i]); } printf("\n"); n=123456789; itoa(n,s,15); for(int i=0;s[i]!='\0';++i){ printf("%c",s[i]); } return 0;}void itoa(int n, char s[],int m){int i=0;int sign=n;unsigned n_copy;if ((sign=n)<0){ if((n-1)>0){ n_copy=n; }else{ n_copy = -n; }}else{ n_copy=n;}do { s[i++] = n_copy % 10 + '0'; } while ((n_copy /= 10) > 0);if (sign < 0)s[i++] = '-';s[i] = '\0';reverse(s);if(i<m){ for(int j=i;j>=0;--j){ s[j+m-i]=s[j]; } for(int j=m-i-1;j>=0;--j){ s[j]=' '; }}}void reverse(char s[]){ int i; for(i=0;s[i]!='\0';++i){ ; } --i; for(int j=0;i>j;--i,++j){ char temp=s[i]; s[i]=s[j]; s[j]=temp; }}
执行结果如下图所示:
阅读全文
0 0
- 练习 3-6 修改itoa函数,使得该函数可以接收三个参数。其中,第三个参数为最小字段宽度。为了保证转换后所得的结果至少具有第三个参数指定的最小宽度,在必要时应在所得结果的左边填充一定的空格。
- 修改itoa函数,使得该函数可以接受三个参数。其中第三个参数为最小字符宽度。
- 关于itoa的第三个参数
- addEventListener函数第三个参数的作用
- php函数 ~ mkdir的第三个参数
- sort函数的第三个参数cmp
- main函数的第三个参数envp
- 17周练习一(1.1)该定义函数不能实现实际参数在必要时的交换
- 对 Len() 函数所得结果不准确的处理
- 一种灵活的find_if的第三个参数----函数对象
- 创建socket函数的第三个参数的意义
- no.1 - 下图绿色区域的宽度为100%,其中有三个矩形,第一个矩形的宽度是200px,第二个和第三个矩形的宽度相等。请使用CSS3中的功能实现它们的布局
- main的第三个参数
- addEventListener的第三个参数
- addEventListener的第三个参数
- addEventListener的第三个参数
- createAlias的第三个参数
- addEventListener的第三个参数
- A. Vladik and Courtesy
- 文本挖掘--数据文本处理-java
- SQL Server返回两个Date日期相差共多少天零多少小时零多少分钟零多少秒
- 2-8连接到LDAP
- linux安装fcitx
- 练习 3-6 修改itoa函数,使得该函数可以接收三个参数。其中,第三个参数为最小字段宽度。为了保证转换后所得的结果至少具有第三个参数指定的最小宽度,在必要时应在所得结果的左边填充一定的空格。
- linux源码安装mysql
- Camera app 分析(四)预览与滤镜
- 多线程
- 开发过程的三个阶段
- EffectiveC++学习笔记-条款43|44
- 排序算法之冒泡排序
- 如何用Linux装逼?
- websocket---前端的实现(一)