xiaobk


私信TA

用户名:xiaobk

访问量:12

签 名:

排  名 6283
经  验 108
参赛次数 0
文章发表 1
年  龄 0
在职情况
学  校
专  业

  自我简介:



写在前面:

本人菜逼,这题不会,就看题解,感觉wu先生的答案写得挺好的,自己理解以后给他加了注释,并发上来。因为我是菜逼,错的地方多多体谅,


以下原题解:

WU-C语言程序设计教程(第三版)课后习题5.7 (C语言描述)添加注释

http://www.dotcpp.com/blog/3365.html





以下代码与注释:

#include<stdio.h>
int main()
{
	char a[5];//定义
	int i, len;//i计数、len位数、
	for(i=0;i<5;i++)//1位1位的循环接收
	{
		a[i] = getchar();//接收输入
		if (a[i] == '\n')//当某位数接收到的是回车时退出循环
		{break;}
	}


	len = i;//i为循环的计数,i=循环次数=接收了几位,len=i=位数
	printf("%d\n", len);//输出题目要求的位数(第一行)。并换行


	for (i = 0; i < len-1; i++)//循环len-1次,输出len-1位以及len-1个空格(直接循环len次的话,输出的最后一位会有空格)
	{printf("%c ", a[i]);}
	printf("%c\n", a[len-1]);//使最后一位没有空格的怪方式。到这里题目要求的第二行的输出完成。并换行


	for (i = len - 1; i >= 0; i--)//先让i=后面的位数,下面的输出就会先显示后位数,同时i自减,直到i小于0时停止循环
	{printf("%c", a[i]);}

	return 0;
}


  评论区