C语言程序设计思路
代码只是实现了逆序输出,而没有把sentence中的内容逆序,每逆序输出一个单词,都用结束符来替换。
#include "stdio.h"
#include "string.h"
void InverseByWord(char *sentence)
{
int n,i,j
n=strlen(sentence)// 计算字符串长度。
for(i=n-1i>-1i--)// 从最后一个元素开始循环,直到第一个元素
{
if(*(sentence+i)=='\0')//如果是结束符的话,仍然设置为结束符。由于字符串长度不变,所以结束符位置不变。
{
printf("%c",*(sentence+i))// 输出结束符
*(sentence+i)='\0'//设置结束符
}
if(*(sentence+i)==' ')// 如果是空格的话,说明新的单词开始。
{
n=strlen(sentence)// 计算字符串长度
for(j=i+1j<nj++)// 从i+1开始输出新的单词
{
printf("%c",*(sentence+j))
*(sentence+j)='\0'// 输出后清除字符。
}}}
printf("%s\n",sentence)//输出字符串
}
void main()
{
char pStr[100]="This is an interesting programe"
InverseByWord(pStr)
}
如果用比较简单的来写,则不需要用C语言的指针!可以用一个变量A储存随机数,A=rand()%36+1这样就好了,然后用另一个变量B储存用户输入的数字,
scanf("%d",&B)然后用一个变量保存用户的金额Money,每一次下注的金额用另一个变量D保存,然后用户输入下注金额D,判断D<=Money, 成立,然后再判断A是否等于B,如果A=B,则Money=Money+5*D,否则Money=Money-D。 再于外侧设计一个大循环,判断Money是否大于0,Money>0时进入循环,Money=0时要求用户存入金额……
在了解编程思维之前,首先,要和大家说一说什么是编程。
编程就是和电脑对话,用电脑能听懂的语言,告诉它我们想让它做的事情。
在这里插入图片描述
举个例子
如果我们想要休息,我们会搬个凳子,放下,然后坐上去休息。
如果我们想让电脑听懂这句话,就需要这么和电脑表达。
步骤
1、定义对象:什么是“凳子”;
2、把凳子向上移动20厘米;
3、往前移动两米;
4、把凳子向下移动20厘米。
这样,电脑就完成了我们想要它做的事情。
所以,相比于人类之间交流的随意与感性,和电脑对话时,必须具备严谨、理性的思路,每一步都要给出准确的指令,这样就能让电脑按照自己的想法行动,不会让结果跑偏。
想要让电脑听懂我们说的话,需要让自己变得理性、严谨,思维具有条理。当我们试着从电脑的角度去思考问题时,也就学习并锻炼到了我们常说的“编程思维”。
二、编程思维是什么?
很多人都听过编程思维,但对它了解的却不多,甚至会产生这种误解——编程思维就是编程算法。
其实,编程思维并不是编写程序的技巧,而是一种高效解决问题的思维方式,它是“理解问题——找出路径”的高效思维过程,由分解、模式识别、抽象、算法四个步骤组成。
在这里插入图片描述
1、分解:锻炼拆解复杂问题的能力
分解,就是把一个复杂的大问题,拆解成更可执行、更好理解的小步骤。
假如,要为自己全家人做一次出游规划,“全家旅游规划”听起来非常庞大、繁琐,而懂得“分解”的话,就可以把这个大难题分解成几个容易解决的小步骤:确立目的地、安排行程、预定机票和酒店、准备行李清单。
所以,在学习编程的过程中,就是在不断地训练他们把复杂的问题拆解、理顺的过程。这个过程是解决问题的基础,把问题拆解清楚,才有接下来实现的可能。
在这里插入图片描述
2、模式识别:发现并整合“重复规律”的能力
模式识别,就是识别不同问题的模式和趋势(共同点)的过程,在我们的经验库里找出类似问题的解决办法,套用解决。识别的模式越多,解决问题的速度也就越快。
例如,如果需要画100只猫,你会怎么办?是找100只猫来临摹还是找出猫的“模式”?
对猫进行模式识别,我们会发现猫有这些共同点:有眼睛、耳朵、尾巴、四条腿……
我们根据这些特点建立起猫的“模式”,按照这个模式就能批量画猫了。不用每次画一个新动物,只需要变换局部特征(例如毛发颜色、尾巴长短)就能轻松解决。
在这里插入图片描述
这样看来效率是不是瞬间飙升N倍?
在编程过程中,其实我们一直在进行着这样的训练,当发现一些可重复的步骤,就会把它们整合起来,建立模式;再遇到类似问题时就能让计算机套用此模式,快速解决。
3、抽象:锻炼找出问题本质的能力
抽象,是指聚焦最重要的信息,忽视无用细节。简单来说就是找到问题的本质,过滤掉其他无关紧要的因素。