我正试图使基于流程图的C代码,但我有一个麻烦做它

  • 本文关键字:代码 有一个 麻烦 流程图 c
  • 更新时间 :
  • 英文 :


这是我想做的流程图[1]: https://i.stack.imgur.com/HCFHu.png

这是目前为止我的代码

#include <stdio.h>
#include <math.h>
int main()
{
int AA = 5;
char NA = 'K';
step2:
if (NA == 'K')
{
printf("NA= %c" , NA);
printf("AA= %d ", AA);
}
else if (AA < 3)
{
(NA = 'B');
printf("NA= %c", NA); 
printf("AA= %d", AA);
}
else if (AA < 4)
{
(NA = 'C');
printf("NA= %c", NA);
printf("AA= %d", AA);
}
else
{
printf("input value of NA =");
scanf("%c", &NA);
printf("input value of AA =");
scanf("%d", &AA);
};
goto step2;
return 0;
}

我试图使代码后步骤6是假恢复回步骤2,直到条件变成真的帮助我在这里的朋友!

你绝对应该使用循环:

// 1 : initialise na and aa 
// 2 : loop while na is not K
while (na != ´K’) {
// 5 : Check aa
If (aa < 3) {
// 7
// 10
} else {
// 4 : test
If () {
// 8
// 9
} else {
// 6 : test aa
… continue with the others test/print statements 
}
}
}
// 3 : print aa,na 

我决定写出我自己解决这个问题的方法,希望能对你有所帮助:

#include <stdio.h>
int main(void) {
char na = 'X';
int aa = 5;
if (na == 'K') {
printf("aa = %dnna = %c", aa, na);
return 0;
}
if (aa < 3) {
na = 'B';
printf("aa = %dnna = %c", aa, na);
return 0;
}
if (aa < 4) {
na = 'C';
printf("aa = %dnna = %c", aa, na);
return 0;
}
/* input */
printf("aa = ");
scanf("%d", &aa);
printf("na = ");
scanf("%u", &na);
printf("n");
return 0;
}

最新更新