1   1  /  1  页   跳转

C语言计算

C语言计算

刚学C语言,我用C语言写了一个计算数字的小程序,要求是,输入一组数字,输入0表示数字输入结束,然后计算这组数字的和。之后,再按一次0退出,按1重新开始计算下一组数字,这样一直循环,直到输入0结束退出。代码如下:
#include<stdio.h>

int main(void)
{
    int i = 1, k;
    float j, sum = 0;

    printf ("请输入所要计算的数字,按0结束输入:\n\n");

    do {
        printf ("  %d、", i);
        scanf ("%f", &j);
        printf ("\n");

        sum = sum + j;
        i++;
    }
    while ( j != 0 );

    printf ("  sum = %.2f\n\n\n  按0退出,按1继续:", sum);
    scanf("%d",&k);

    return 0;

}

但我现在只会输入第一组,有什么办法可以在一直循环下去?
最后编辑2006-07-20 17:40:44
分享到:
gototop
 

用for写。然后用IF判断直到用户输入0时退出。
gototop
 

你的原程序:
#include<stdio.h>

int main(void)
{
int i = 1, k;
float j, sum =0;

printf ("请输入所要计算的数字,按0结束输入:\n\n");

do {
printf (" %d、", i);
scanf ("%f", &j);
printf ("\n");

sum = sum + j;
i++;
}
while ( j != 0 );

printf (" sum = %.2f\n\n\n 按0退出,按1继续:", sum);
scanf("%d",&k);

return 0;

}


改进后的程序:
#include<stdio.h>

int main(void)
{
int i = 1, k=1;
float j, sum =0.0;
  for(;k!=0;++i)
        {
          printf("%d====Please enter the numbler:\n\n",i);
          scanf("%f",&j);
          sum+=j;
  printf("\nsum=%.2f\ncontinue----1\nend-------0\n",sum);
          scanf("%d",&k);
        }
return 0;
}


几点意见:
1在程序中最好都用英文,因为一般的TC不支持中文
2程序语段要安排好,便与检查
gototop
 

#include<stdio.h>
int main()
{
int c;
int csum();
do
  {
  scanf("%d",&c);
  if (c==1) csum();
  else break;
  }while (1);
}

int csum()
  { int j,sum;
    prinft("please input the nomber,0 end:\n\n");
    do{
      scanf("%d",&j);
      sum=sum+j;
      }while(j!=0);
    prinft("%f\n",sum);
    return 0;
  }

不过我机子不能通过编译,,,Linker Error: Undefined symbol '_printf"in module count.C
乱七八糟
gototop
 

我的已经成功运行了,可以复制下去看看.
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT