各位朋友:要用tc编写以下程序,请给点提示吧。谢谢了!
已知有8个城市,Beijing Chengdu Shanghai Zhengzhou Shenyang Tianjiang Guangzhou。从中任选三个作为奥运会的赛场。请编写程序,输出奥运会赛场的各种选法。
>> 本文固定链接: http://www.vcgood.com/archives/3203
各位朋友:要用tc编写以下程序,请给点提示吧。谢谢了!
已知有8个城市,Beijing Chengdu Shanghai Zhengzhou Shenyang Tianjiang Guangzhou。从中任选三个作为奥运会的赛场。请编写程序,输出奥运会赛场的各种选法。
>> 本文固定链接: http://www.vcgood.com/archives/3203
你必须先 登录才能发表评论。
我是这样想的 1,数字1-8代表8个城市
2,实际就是需要打印出1-8中任意3个数的组合ijk(ijk不是同一个数)
3,编fun函数功能是输入1-8中的一个数i,打印对应的城市名字。
=====
fun(int n)
{switch(n)
{case 1:printf(“beijing\t”); break;
case 2:printf(“chengdu\t”);break;
case 3:printf(“shanghai\t”);break;
case 4:printf(“zhengzhou\t”);break;
case 5:printf(“shenyang\t”);break;
case 6:printf(“tianjing\t”);break;
case 7:printf(“guangzhou\t”);break;
case 8:printf(“dalian\t”);break;
}
}
main()
{int i,j,k;
for(i=1;i<9;i++)
for(j=1;j<9;j++)
for(k=1;k<9;k++)
if(k!=j&&k!=i&&j!=i)
{fun(i);fun(j);fun(k);printf(“\n”);}
}
对了 选择就 可以了
再贴一个
指针函数实现的 更简单!!!
main(){
int i,j,k,count=0;
char *city(int n);
for(i=0;i<8;i++)
for(j=0;j<8;j++)
for(k=0;k<8;k++)
{count++;if(i!=j&&j!=k&&i!=k)
printf(“Number%d:%s\t %s\t %s\t\n”,count,city(i),city(j),city(k));}
getch();
}
char *city(int n){
static char *name[]={ “shanghai”,
“beijing”,
“tianjin”,
“chengdu”,
“chongqing”,
“xi’an”,
“shenyang”,
“hangzhou”};
return(name[n]);
}