画下面C语言程序的流程图

画下面C语言程序的流程图,第1张

我就个人的经验来谈一下吧:如果你是会编程序而不会画流程图的这种我建议你应该先把自己的程序研究一遍倘若是画主程序流程图的话那就只需看懂主函数的程序就行了按照Main()函数中的具体书写过程来画比如:定义变量--------初始化变量------使用选择或者循环或者顺序结构------调用某一个子函数(可以没有)----------程序结束 以上是最简单的程序流程图画法

倘若你是画某一算法或是某一模块的流程图的话就要把相应的算法或是模块看懂再说分析算法或是模块的具体走法根据此走法就可以画出对应的流程图

如果你是初学者是想根据流程图的画法而去尝试编程的话我建议你就一定要研究好每一个使用到的算法读懂题目再画流程图

/*找9张牌给card*/

for (deckp = 0deckp <sizedeckp++)

{

div_t card = div(deck[deckp], SUITSIZE)

cards[deckp].val = "A23456789TJQK"[card.rem]/*把余数给card.val*/

cards[deckp].kind = "3456"[card.quot]/*把商给card.kind*/

}

}

/*show的原代码,将会自动换行*/

void show(const Card *cards, int size)

{

for(int i = 0i <sizei++)

{

printf("%c%c ",cards[i].kind,cards[i].val)

if( (i !=0) &&(((i+1 ) % 3) == 0))

puts("")

}

puts("")/*自动换行*/

}

/*grouping 的原代码*/

void grouping(const Card *cards, Card *carr1, Card *carr2, Card *carr3)

{

int i = 0/*循环参数*/

/*分给carr1三个数*/

while (i <3)

{

carr1[i].val = cards[i].val

carr1[i].kind = cards[i].kind

i++

}

/*分给carr2接下来的三个数*/

while (i <6)

{

carr2[i-3].val = cards[i].val

carr2[i-3].kind = cards[i].kind

i++

}

/*分给carr3接下来的三个数*/

while (i <9)

{

carr3[i-6].val = cards[i].val

carr3[i-6].kind = cards[i].kind

i++

}

}

/*rshift的实现*/

void rshift(Card *carr1, Card *carr2, Card *carr3, int counter)

{

Card temp2/*用于存放carr2[counter]*/

Card temp3/*用于存放carr3[counter]*/

/*temp = carr2*/

temp2.val = carr2[counter].val

temp2.kind = carr2[counter].kind

/*carr2 = carr1*/

carr2[counter].val = carr1[counter].val

carr2[counter].kind = carr1[counter].kind

/*temp3 = carr3*/

temp3.val = carr3[counter].val

temp3.kind = carr3[counter].kind

/*carr3 = carr2*/

carr3[counter].val = temp2.val

carr3[counter].kind = temp2.kind

/*carr1 = carr3*/

carr1[counter].val = temp3.val

carr1[counter].kind = temp3.kind

}

Card* result_process(Card *carr1, Card *carr2, Card *carr3, int counter)

{

rshift(carr1, carr2, carr3, counter)/* 把数组的第一个元素依次右移*/

if(counter == 2)

{

return(&carr2[2])

}

show(carr1, 3)

show(carr2, 3)

show(carr3, 3)

puts("请给出你记住的牌所在行数:")

fflush(stdin)

int input = 1

input = getchar()/*获取你选的组*/

switch(input)

{

case '1':

return(result_process(carr1, carr2, carr3, ++counter))

break

case '2':

return(&carr2[counter])

break

default:

puts("你在撒谎!不和你玩了!")

return NULL

}

}

简单地来说流程图就是使用图形表示算法的思路的一种极好的方法,因为千言万语不如一张图。

主要由顺序结构,分支结构(又称选择结构),循环结构构成。

建议去看一看谭浩强编写的C程序设计,里面有一个章节专门讲这个的,简单易懂,相信你能在短时间内就掌握这种表示方法的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11568908.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存