Tag: do while

编译器错误,我无法找到

我收到一个我无法解决的错误。 我彻底完成了我的代码但没有成功。 我究竟做错了什么? 见下面的代码。 编译错误: In function ‘main’: ou1.c:49:1: error: expected ‘while’ before ‘printf’ printf(“End of program!\n”); ^ 我的代码: #include int main(void){ int choice; float price, sum, SUMusd; float rate =1; printf(“Your shopping assistant”); do{ printf(“1. Set exchange rate in usd (currency rate:%f)\n”, rate); printf(“2. Read prices in the foreign currency\n”); printf(“3. End\n”); printf(“\n”); scanf(“%d”, […]

fprintf在经历循环时不会打印

我正在尝试在文档中打印某些内容,但它只适用于我尝试过的第一个h值! 我试图弄清楚自己,但我不得不在不到一个小时的时间内将这些代码交给我的教授,所以我有点绝望。 :/ #include #include double euler(double v0, double *t0, double h, double (*f)(double)); double dv(double v); int main(){ double vlim, t = 0; double *pt = &t; double h0 = 1.e-7; vlim = euler(0, pt, h0, dv); printf(“O tempo ea velocidade limite para um passo de %.0e s sao respectivamente:\n”, h0); printf(“%.0e se %lf […]

在C中重复程序function失败,scanf相关吗?

所以我试图询问用户是否愿意重复我的程序,我偶尔得到一个奇怪的结果。 它不会每次都发生,我无法弄清楚触发它的原因。 对我来说,在我输入’q’到repeatProgram而不是’q’后,它会分配’return’,但我不知道为什么。 工作时的输出: 退出输入q,继续输入y。 小号 你已输入s,这不是一个有效的选项。 失败时的输出: 退出输入q,继续输入y。 q 你进去了 ,这不是一个有效的选择。 代码: char RepeatProgramPrompt() { char repeatProgram; do { printf(“\nTo exit enter q, to continue enter y.\n”); scanf(“%c%*c”, &repeatProgram); repeatProgram = tolower(repeatProgram); if(repeatProgram != ‘y’ && repeatProgram != ‘q’) { printf(“\nYou’ve entered %c, that isn’t a valid option.\n”, repeatProgram); } }while(repeatProgram != ‘y’ && […]

在C中执行do-while循环后打印“Error”语句

如何在执行do-while循环后打印消息,告知输入错误? 或者我使用了错误的循环? #include #include void main(){ int inp; do{ clrscr(); printf(“Enter Number 10); // Print “Wrong” when inp>10 printf(“Right Answer!”); getch(); }

do {} while(0)的意义

当while循环中的条件为0时,do while循环的意义是什么,即总是false。 do { //some code implementation. }while(0); 我在很多地方都看到过这种情况。 它的重要性是什么,我们只是省略了do while(0)。 因为两种方式代码只会被执行一次。 这不是重复,因为我问及使用while(0)条件,特别是一般的do-while循环。

在C中循环获取代码的特定部分的时间

问题描述 下面我有一个程序正在执行两个简单的加法和乘法运算。 然后,我将这两个简单操作的总和存储在两个相应的变量中,称为total1和total2。 在计算方面,total2将花费更多时间来完全执行。 我实现代码的方式,我目前正在计算两个数学运算的整个模拟。 题 是否可以单独计算total1和total 2的最终结果? 我问的是,我希望以单独的方式获得total1和total2的具体时间。 任务目的 我完全清楚长期在内存方面的代价很高,并不是最有效的内存保存方式。 此代码和问题的唯一目的是计时而不是代码优化。 C代码 #include #include int main() { long long total1 = 0, total2 = 0, i = 0; double simulation_time = 0; clock_t Start = clock(); do { total1 += i + i; total2 += i * i * i * i; i++; } […]

非数字输入导致无限循环

出于某种原因,如果用户输入了错误的数据类型,例如’j’或’%’,循环将停止询问输入,并将一遍又一遍地显示”Enter an integer >” 。 如何让程序处理错误输入? 为什么输入非数值会导致这种奇怪的行为呢? #define SENTINEL 0; int main(void) { int sum = 0; /* The sum of numbers already read */ int current; /* The number just read */ do { printf(“\nEnter an integer > “); scanf(“%d”, &current); if (current > SENTINEL) sum = sum + current; } while (current > […]

现金更改计划使用循环和if / else

编写一个程序,允许用户输入高达$ 200.00的现金金额,然后计算并打印以下面额(20,10,5,1,.25,.10,.05,。01)的价值。 我想我已经找到了如何获得面额(除法/模数)的基础知识,但它是do / while和if / else的结构给了我麻烦。 我一直得到一个错误,我需要一个while语句,即使我已经输入它及其条件(见下文),但我也有点不知道在哪里放置范围提示(如果用户输入的东西)负数或高于200)。 任何建议/指导将不胜感激! double amt_ent; int twenty, ten, five, one, quarter, dime, nickel, penny, remainder; printf (“Enter a dollar amount up to $200.00:”); scanf (“%lf”, &amt_ent); do { printf (“Name – Assignment 2 – Change-O-Matic\n”); printf (“Amount entered: $%.2lf\n”, ((amt_ent*100)/100)); printf (“Change breakdown:\n”); { /*Change in twenties*/ twenty= (int) […]

将循环放在C宏中

我正在寻找一种方法将以下函数结构转换为宏。 我知道,这是一个愚蠢而毫无意义的例子,但它说明了这一点,因为我无法透露我的实际源代码。 int foo(int x, int y) { do { –x; ++y; }while(x > y); return x * y; //note that x and y have changed values here. } 这样我就可以在main或其他函数中调用函数,如下所示: int next_x = foo(x,y); 我似乎无法在这里获得100%正确的语法。 这是我的不良尝试: #define FOO(x,y) \ ( \ do \ { \ –x; \ ++y; \ }while(x < y), \ x \ […]

为什么{} while(condition); 在它结束时需要分号但是(条件){}不是吗?

我总是有放置的问题; 在结束while或不将它放在do while循环的末尾。 那是什么原因? 为什么 int numItemsToProcess = 3; while(numItemsToProcess > 0) { // process an item numItemsToProcess–; } 不需要; 最后但是 do { numItemsToProcess –; } while (numItemsToProcess > 0); 呢? 也许原因并不太重要。 但是当你知道你记得放在哪里的原因时; 。