?????????????
此程序要实现的功能如下:
打印图示菜单,输入对应的序号后,执行打印提示;按任意键返回该菜单,继续选择。
#include<stdio.h>
int main(void)
{
int ordinal = -1, i = 0, n = 1;/*这里用到了两个变量 i 和 n 来控制循环。只有一个变量经过多次尝试,无法实现只循环一次就结束的效果。*/
while (ordinal != 0 && i < n)
{
printf("\n");
printf("选择菜单\n");
printf(" 1 求两个数的和\n");
printf(" 2 求两个数的差\n");
printf(" 3 求两个数的商和余数\n");
printf(" 4 求两个数的倒数之和\n");
printf(" 0 退出系统\n");
printf ("请输入你要选择的序号:\n");
scanf ("%d", &ordinal);
switch (ordinal)
{
case 1 :
{
printf("求两个数的和:\n");
}
break;
case 2 :
{
printf("求两个数的差:\n");
}
break;
case 3 :
{
printf("求两个数的商和余数:\n");
}
break;
case 4 :
{
printf("求两个数的倒数之和:\n");
}
break;
}
n = n + 1;
i = i + 1;
printf ("\n");
system("pause");
}
i = 0;
return 0;
}
这道题目的实现我花费了大量的时间,主要难点在如何能够只让循环只执行一次就结束但却不是只执行一次就程序结束。而是要循环结束后,可以继续重新循环一次。
首先我的循环控制条件及循环主体是这样的:
printf ("请输入你要选择的序号:\n");
scanf ("%d", &ordinal);
while (ordinal != 0)
switch (ordinal)
{...}