过期罐头 - 2006-7-18 13:45:00
刚学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-7-18 23:57:00
用for写。然后用IF判断直到用户输入0时退出。
HackMafia - 2006-7-19 14:58:00
你的原程序:
#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程序语段要安排好,便与检查
欧虫 - 2006-7-19 22:17:00
#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
乱七八糟
HackMafia - 2006-7-20 17:48:00
我的已经成功运行了,可以复制下去看看.
© 2000 - 2026 Rising Corp. Ltd.