Dreamwind is doing C++ homework……
“Write a program, enter 3 different integers a,b,c, output them in increasing order using their variable names.”
This is Dreamwind’s answer:
#include <stdio.h>
int a,b,c;
bool ok;
int main()
{
printf("Please enter 3 different integers:\n");
do
{
scanf("%d%d%d",&a,&b,&c);
ok=1;
if (a==b || a==c || b==c)
ok=0;
}while (ok);
if (a<b)
if (b<c)
printf("a<b<c\n");
else
if (a<c)
printf("a<c<b\n");
else
printf("c<a<b\n");
else
if (a<c)
printf("b<a<c\n");
else
if (b<c)
printf("b<c<a\n");
else
printf("c<b<a\n");
return 0;
}
Obviously, this program is very complex, but Dreamwind is satisfied with this. He prepares to solve similar question by using the same format. However, when the nubmer of integers if very large, the length of code by this format will be very long, so Dreamwind gives this code to you, hoping you can write a program which can create the code of some questions like “Enter n different integers a,b,c,…, output them in increasing order using their variable names.” automatically.
We can see that in Dreamwind’s format, the integers’ variable name will be a,b,c,…, and when judge whether the integers are different, the “if” will follow many sentence like (a==b) in some order. When compare the integers, he uses the least “if” so that every “if” and “else” is perfectly used. For each comparison, a and b will always be used first, and then c, and then d (if n is larger, see the Sample Output). Dreamwind never use “>” in this program, and in every “<” and “==” in the “if” sentence, the varible name on the left will always smaller than the one on the right.