1. c语言的流程图怎么画
如果会编程序而不会画流程图,建议先把自己的程序研究一遍。
若是画主程序流程图,那就需看懂主函数的程序,按照main()函数中的具体书写过程来画,例如:
程序开始---定义变量---初始化变量---使用选择或者循环或者顺序结构---调用某一个子函数(可以没有)---程序结束
以上是最简单的程序流程图画法。
若你是画某一算法或是某一模块的流程图,就要把相应的算法或是模块看懂。分析算法或是模块的具体走法,根据此走法就可以画出对应的流程图。
如果你是初学者,想根据流程图的画法而去尝试编程,建议就一定要研究清楚每一个使用到的算法,读懂题目再开始编程。
下面是使VISO画流程图的几个要点:
1、选择下载一个合适版本的VISO
2、程序开始结束用胶囊
3、分页用圆圈
4、输入用平行四边形
5、语句用方块
6、判断用菱形
7、打印用波浪
2. C语言,画出流程图
所谓的程序流程图,说得通俗一点就是编写程序前的思路。如果你的程序既然已经都够正确编写出来、且能够运行出正确的结果,那么你再把你的编程序的过程写成流程图即可。
3. 求下面c语言代码每一个函数流程图,可追加
主要是对大写字母的循环左移加密的流程,首先检测字母是否为大写字母,是则用向前推五个字母位置的字母代替,如果越界则循环移位到字母表尾部。
4. c语言 一次输入10个数要求将其最大的数打印出来 用传统的流程图怎么表示
#include <stdio.h>
#define N 10
#define MAX(x,y) ((x)>(y)?(x):(y)) //返回2个数中较大者
int main(void)
{
int num, i=1, max;
printf("enter numbers:
");
scanf("%d", &num); //输入第一个数
max = num; //把第一个数赋值给max
for(i = 1; i < N; i++)
{
scanf("%d", &num); //输入其它9个数
max = MAX(max, num); //把最大的赋值给max
}
printf("max = %d
", max); //打印出max
return 0;
}
5. 如何根据C语言代码自动画出流程图
第一步、写一个C的词法分析器;
第二步、写一个语法分析器;
第三部、写一个语义分析器;
第四部、生成语法树;
第五步、生成流程图(仅语法,不能描述具体意义);比如:生成的流程图诸如这样:“如果a==0则如何,否则如何”,而不会“如果苹果盘为空,则如何,否则如何”。
6. c语言源代码和流程图的问题
#include<stdio.h>
int main()
{
char M[4] = "ABC";
char W[4] = "XYZ";
for(int i=2;i>=0;i--)
for(int j=0;j<3;j++)
{
if(M[i]=='A'&&W[j]=='X')
continue;
if(M[i]=='C'&&W[j]=='X')
continue;
if(M[i]=='C'&&W[j]=='Z')
continue;
//从题中就能得出结果
printf("B将和X结婚\n");
printf("C将和Y结婚\n");
printf("A将和Z结婚\n");
//从题中就能得出结果
}
return 0;
}
7. c语言画流程图
流程图就是你的思路,你怎样写程序就怎么画,当然如果想不出来就画不了。流程图有基本的符号,符号查一查就知道
比如我要计算输入年份是否闰年,那么设计思路是:先输入一个整数,然后计算整数除以4的余数,再判断余数是否等于零,是,则是闰年,否,则不是闰年
8. 求C语言流程图(程序如下)
/*找9张牌给card*/
for (deckp = 0; deckp < size; deckp++)
{
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 = 0; i < size; i++)
{
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;
}
}