分类：电脑/网络-软件
问题：C语言中重复执行程序的问题小弟我写了如下一段代码：#includ 
小弟我写了如下一段：#include<stdio.h>#include<math.h>#define n 1/*此处修改n的值*/#define Vt 0.026/*此处修改Vt的值*/void main(void){  float Vin,Vd,Is,Ro;  int i;  char order;  Vd=0.6;      printf("***************************************************************小弟我写了如下一段：#include<stdio.h>#include<math.h>#define n 1/*此处修改n的值*/#define Vt 0.026/*此处修改Vt的值*/void main(void){  float Vin,Vd,Is,Ro;  int i;  char order;  Vd=0.6;      printf("****************************************************************************\n\n");      printf("本程序可计算Vin=Vd+Is(e^(Vd/(n*Vt)) - 1)*Ro中的Vd\n");    printf("\n");    printf("参数Vt为热电压，室温下其近似值为0.026v\n");    printf("\n");    printf("参数n常称为发射系数或理想因素，取值范围为1<= n <=2,在本程序中我们将n取1\n\n");    printf("****************************************************************************\n\n");    printf("请输入输入电压Vin的值（单位：v）：");  scanf("%f",&Vin);        printf("请输入反向饱和电流Is的值（单位：A）：");  scanf("%f",&Is);    printf("请输入加载电阻Ro的值（单位：Ω）：");  scanf("%f",&Ro);  printf("\n");  printf("****************************************************************************\n");  printf("\n");  printf("你所输入的Vin为：%.1f v，Is为：%.12f A，Ro为 %.1f Ω\n",Vin,Is,Ro);  printf("\n");  while(Vd<=0.7)  {    double A,B,sum;      A=Vd/(n*Vt);     B=exp(A)-1;     sum=Vin-Vd-Is*Ro*B;        if(sum<=0.0001)    {      printf("Vd的值为:%f\n",Vd);      break;    }        Vd+=0.001;  }  printf("再次计算请键入“r”,退出请键入“q”");  scanf("%c",&order);    if(order=='r')  {     (请高手填写部分)  }}现在想请高手解答一下如何使我在键入‘r’之后程序可重新执行，最好不要用goto语句，小弟万分感激。
回答：这个不应该这么写的，在最外层的循环中要用while的死循环来使程序一直运行，当显示：
printf("再次计算请键入“r”,退出请键入“q”"); 
scanf("%c",&order); 
时，在根据输入的内容进行判断，如果输入的是r，则往下进行，会进入到下一次循环，相当于重新开始执行一次，如果输入的是q的话，则使用break退出while的死循环就好了。
总体结构如下：
While
{
     您之前的代码
     scanf("%c",&order);
     if(order=='r') 
     /*此处什么也不用写就行，因为要继续运行下次循环*/ 
    { 
      
    }
     else if(order == 'q')
    {
         break;
     }
}
好了，回答完毕，祝您好运。