我有一个问题,我试图编写一个程序来显示从1到22的整体总和,然后,做2个while循环。第一个应该执行用户给出的一些数字的总和,例如:输入10,30和40,然后在输入0时,程序将前三个数字相加。不幸的是,第一个while循环不起作用。它直接进入最后一个while循环,它应该输入一个十进制数字(10.20 30.50 40.55),并且在你再次输入0之后,它将这些数字相加,然后将每一个条目与1.19相加和相乘。到目前为止,最后一个循环工作正常,不幸的是,第二个循环没有,如果我把printf和scanf移动到它允许我写入的时候,但是刚开始写入时不停止写入的数字。先谢谢你!C跳过“while”循环?
下面是代码:
#include <stdio.h>
int main()
{
int sum = 0;
int a;
int b;
double i;
double sum1 = 0;
for (a= 0; a <= 22; a++) {
sum = sum + a;
printf("the sum from 1 till 22 : %i\n ", sum);
}
while (b != 0) {
printf("type a number:");
scanf("%i", &b);
sum += b;
printf("%i\n", b);
}
printf("the sum is : %i\n", sum);
while(i !=0) {
printf ("Type a decimal number:");
scanf ("%lf",&i);
sum1 += i*1.19;
printf("%lf\n", i);
}
printf("The decimal summ is: %lf\n",sum1);
return 0;
}
感谢名单了很多,好像,你的答案是什么林寻找,但我需要显示所有这些,所以我刚才添加的bouth数字我的最终SUM而}的整笔新的printf之后,所以无论何时我输入0,它总结了我之前编写的所有数字,并给出答案很酷,我也可以在一段时间内完成一个printf,所以它会显示每一次你已经写好的数字的总和,谢谢再次:) – DavidsAmause 2014-10-16 16:23:03