The C Programming Language 练习题3-6
来源:互联网 发布:网络媒介的演变 编辑:程序博客网 时间:2024/06/06 18:50
题目
修改itoa函数,使得该函数可以接收三个参数。其中,第三个参数为最小字段宽度。为了保证转换后所得的结果至少具有第三个参数指定的最小宽度,在必要时应在所得结果的左边填充一定的空格。
题目分析
先进行抓换,然后判断字符串长度是否小于最小宽度。
代码实现
#include <stdio.h>#include <string.h>void reverse(char s[]){ int c, i, j; for (i = 0, j = strlen(s)-1; i < j; i++, j--) { c = s[i]; s[i] = s[j]; s[j] = c; }}void itoa(int n, char s[], int j){ int i, lengths, sign; char s2[20]; unsigned m; if ((sign = n) < 0) m = -n; i = 0; do { s[i++] = m % 10 + '0'; } while ((m /= 10) > 0); if (sign < 0) s[i++] = '-'; s[i] = '\0'; reverse(s); if ((lengths = strlen(s)) < j) { i = 0; lengths = j - lengths; while (s[i] != '\0') { s2[i+lengths] = s[i]; i++; } s2[i+lengths] = '\0'; i = 0; do { s2[i++] = ' '; lengths--; } while (lengths > 0); } i = 0; while (s2[i] != '\0') { s[i] = s2[i]; i++; } s[i] = '\0';}int main(){ int i, n, x; char s1[20]; i = -2147483648; x = 16; itoa(i, s1, x); n = 0; while (s1[n] != '\0') printf("%c", s1[n++]); return 0;}
阅读全文
0 0
- The C Programming Language 练习题3-6
- The C Programming Language 练习题3-3
- The C Programming Language 练习题2-6
- The C Programming Language 练习题4-6
- The C Programming Language 练习题2-3
- The C Programming Language 练习题3-1
- The C Programming Language 练习题3-2
- The C Programming Language 练习题3-4
- The C Programming Language 练习题3-5
- The C Programming Language 练习题4-3
- 《The C Programming Language II》练习题代码
- The C Programming Language 练习题1-21
- The C Programming Language 练习题1-22
- The C Programming Language 练习题1-23
- The C Programming Language 练习题1-24
- The C Programming Language 练习题2-1
- The C Programming Language 练习题2-2
- The C Programming Language 练习题2-4
- POJ 1679 浅谈不严格次小生成树
- javascript引用数据类型和堆内存
- 2017年Java日志框架及工具综述
- BZOJ满框记录,排名999记录![BZOJ5040 的HINT]
- 利用Cookie进行自动登录相关代码
- The C Programming Language 练习题3-6
- Django
- git clone出错:error: RPC failed; curl 18 transfer closed with outstanding read data remaining
- 实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1)
- 蓝松短视频----更新日志(一直更新中...)
- Python基础知识笔试
- 玩转Unity中的ML-Agents 机器学习(二):Unity环境搭建
- 141. Linked List Cycle
- 02-线性结构1 两个有序链表序列的合并