博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法训练-按位打印数据
阅读量:6671 次
发布时间:2019-06-25

本文共 1664 字,大约阅读时间需要 5 分钟。

hot3.png

问题描述

编写程序,实现从键盘输入一个正整数,输出该正整数的位数及每位数

输出样例

1234

输出样例

第1位是1第2位是2第3位是3第4位是4共有4位

解题思路

使用队列接收所有的字符,并记录队列的入队数,而后字符出队,打印字符

程序实现

#include 
#include
typedef struct Queue { int data; struct Queue *next;} Queue;typedef struct LinkQueue { Queue *front; Queue *rear;} LinkQueue;int initQueue(LinkQueue *linkQueue);int enterQueue(LinkQueue *linkQueue, char number);char outQueue(LinkQueue *linkQueue);/** * 使用队列存储得到的每一位字符 * 记录输入的字符数 * 出队打印队列中的数据 */int main(int argc, char *argv[]) { LinkQueue link; initQueue(&link); char number; number = getchar(); int i = 0; while (number != '\n') { enterQueue(&link, number); i++; number = getchar(); } for (int j = 1; j <= i; j++) { printf("第%d位是:%c\n", j, outQueue(&link)); } printf("共有%d位", i); return 0;}/** * 初始化队列 */int initQueue(LinkQueue *linkQueue) { linkQueue->front = (Queue*)malloc(sizeof(Queue)); if (linkQueue->front != NULL) { linkQueue->rear = linkQueue->front; linkQueue->front->next = NULL; return 1; } else { return 0; }}/** * 入队操作 * linkQueue:队列 * number:输入的字符 */int enterQueue(LinkQueue *linkQueue, char number) { Queue *q = (Queue *)malloc(sizeof(Queue)); if (q != NULL) { q->data = number; q->next = NULL; linkQueue->rear->next = q; linkQueue->rear = q; } else { return 0; } return 1;}/** * 出队操作 * linkQueue:队列 * return:出队的字符 */char outQueue(LinkQueue *linkQueue) { char number; Queue *q; if (linkQueue->front == linkQueue->rear) { return 0; } q = linkQueue->front->next; linkQueue->front->next = q->next; if (linkQueue->rear == q) { linkQueue->rear = linkQueue->front; } number = q->data; free(q); return number; }

运行结果

转载于:https://my.oschina.net/niithub/blog/3056267

你可能感兴趣的文章
论各类BI工具的“大数据”特性
查看>>
博科15亿美元收购WLAN企业Ruckus
查看>>
EMC挑战全闪存极限
查看>>
着力大数据与大生态融合 贵阳第一个示范性公园开园
查看>>
ActiveMQ - JMS,Transport,Persistence
查看>>
互联网大数据支撑生态银行建设
查看>>
生态城年内开建智慧城市
查看>>
解密国产大数据法律应用服务平台
查看>>
打造智慧城市新风貌 嘉兴市推广应用万盏LED路灯
查看>>
工业大数据的三大挑战及大数据未来中国五大商业趋势
查看>>
苹果玩心机:取消GPU芯片商订单 打压股价再收购?
查看>>
安全是智慧城市建设的重中之重
查看>>
视频会议系统迎来第四次浪潮
查看>>
云计算崛起带动产业革命 智慧城市已悄然来临
查看>>
报告显示:被调研中国企业超85%已从数字转型中获得回报
查看>>
Stimergy公司的边缘平台加热法国公共游泳池
查看>>
安防企业以内养外适应供给侧改革
查看>>
中国移动2016年低端路由器和低端交换机产品结果出炉
查看>>
ABB公司为Hypertec公司蒙特利尔数据中心设计变电站
查看>>
索尼霸图像传感器头把交椅 巨头林立虎视眈眈
查看>>