【发布时间】:2015-07-06 01:36:01
【问题描述】:
我想从 n 次 (n = 1-100) 向后打印我的名字。我似乎无法弄清楚。正如您在我的代码中看到的那样,strrev() 在循环时不起作用,因为它不断地反复反转。我还想以某种方式强制用户输入一个字母而不是数字作为名称,但这不是必须的。
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int main ()
{
int choice;
char name[255];
int loopCounter;
int count;
int number;
do
{
printf("1.Display Your Name\n");
printf("2.Display Your Name (From 1-100)\n");
printf("3.Display your Name Backwards\n");
printf("4.Display Your Name Backwards (From 1-100)\n");
printf("5.Quit\n");
printf("Enter your name:\n");
scanf("%s", name);
printf("Enter your choice: ");
scanf("%i", &choice);
switch(choice)
{
case 1:
printf("Your name is %s.\n", name);
break;
case 2:
printf("How many times to display your name? (1-100) ");
scanf("%i", &count);
if ( 100 < count)
{
printf("Please enter 1 through 100\n");
}
else
{
loopCounter = 0;
while (loopCounter < count )
{
loopCounter++;
printf("%d %s\n", loopCounter,name);
}
}
break;
case 3:
printf("Your name backwards is: %s\n\n", strrev(name));
break;
case 4:
printf("How many times to display your name backwards? ");
scanf("%i", &count);
if ( 100 < count)
{
printf("Please enter 1 through 100\n");
}
else
{
loopCounter = 0;
while (loopCounter < count )
{
loopCounter++;
printf("%d %s\n", loopCounter, strrev(name));
}
}
break;
case 5:
printf("Goodbye!!!!\n");
break;
default:
printf("Was not 1 through 5\n");
break;
}
} while (choice!=5);
}
【问题讨论】:
-
你的文本编辑器是一只愤怒的猫吗?