我希望简单地制作用户输入的char变量,以根据他们输入的int变量进行重复。
例如:D10的用户输入将输出"0";DO-WHILL:DDDDDDDDD";
使用我当前的代码:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
char value;
int iterations, numIter;
printf("+----------------------+ nLoop application STARTEDn+----------------------+nn");
printf("D = do/while | W = while | F = for | Q = quitn");
printf("Enter loop type and the number of times to iterate (Quit=Q0): ");
scanf(" %c%d", &value, &iterations);
for (numIter = 0; numIter < iterations; numIter++)
{
if ((value == 'D') && (iterations > 3 || iterations < 20))
{
printf("DO-WHILE: %c", value);
我确实查找了这个问题的答案,但似乎没有什么能确切地说明我必须如何在这里做到这一点,我确实学会了使用(numIter=0;numIter<迭代次数;numIter++(来根据用户输入的内容增加numIter(迭代次数(,但无法理解如何将其应用于"的字母变量用户输入;值";。
如果用户输入D10,这将导致整个语句连同%c值重复10次。我可以理解这似乎是错误的,但不知道为什么或如何修复。
我认为您需要使用do while作为代码显示,
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
char value;
int iterations, numIter;
printf("+----------------------+ nLoop application STARTEDn+----------------------+nn");
printf("D = do/while | W = while | F = for | Q = quitn");
printf("Enter loop type and the number of times to iterate (Quit=Q0): ");
scanf(" %c%d", &value, &iterations);
if ((value == 'D') && (iterations > 3 || iterations < 20))
{
printf("DO-WHILE:");
numIter = 0;
do{
numIter=numIter+1;
printf("%c", value);
}
while(numIter < iterations);
}
return 0;
}