
一道C语言题,帮下谢谢
本市8字头公交车路号本月将完成更换,所有8字头线路路号全部空出,为下一步规范9字头公交线路路号做出准备。以下为公交车换号对应关系:80160180299808608810...
本市8字头公交车路号本月将完成更换,所有8字头线路路号全部空出,为下一步规范9字头公交线路路号做出准备。 以下为公交车换号对应关系:
801 601
802 99
808 608
810 609
814 614
823 623
826 626
836 617
846 619
849 620
852 621Input多组测试数据,以EOF结束。
每一组测试数据,输入一个整数n(n<100),接下来有n个公交车号。Output对于每一组测试数据。
输出换号后的公交车号,两个车号之间以空格隔开。Sample Input5 110 498 826 731 331Sample Output110 498 626 731 331 展开
801 601
802 99
808 608
810 609
814 614
823 623
826 626
836 617
846 619
849 620
852 621Input多组测试数据,以EOF结束。
每一组测试数据,输入一个整数n(n<100),接下来有n个公交车号。Output对于每一组测试数据。
输出换号后的公交车号,两个车号之间以空格隔开。Sample Input5 110 498 826 731 331Sample Output110 498 626 731 331 展开
1个回答
2012-12-16
展开全部
#include <stdio.h>
void find(int num)
{
int a[11][2]={{801,601},{802,99},{808,608},{810,609},{814,614},{823,623},{826,626},{836,617},{846,619},{849,620},{852,621}};
int i;
for(i=0;i<11;i++)
{
if(a[i][0]==num)
{
printf("%d ", a[i][1]);
break;
}
}
}
int main()
{
int n,i;
int num[100]={0};
scanf("%d", &n);
for(i=0;i<n;i++)
{
scanf("%d", &num[i]);
}
for(i=0;i<n;i++)
{
if(num[i]>800 && num[i]<900)
{
find(num[i]);
}
else
printf("%d ", num[i]);
}
printf("\n");
return 0;
}
void find(int num)
{
int a[11][2]={{801,601},{802,99},{808,608},{810,609},{814,614},{823,623},{826,626},{836,617},{846,619},{849,620},{852,621}};
int i;
for(i=0;i<11;i++)
{
if(a[i][0]==num)
{
printf("%d ", a[i][1]);
break;
}
}
}
int main()
{
int n,i;
int num[100]={0};
scanf("%d", &n);
for(i=0;i<n;i++)
{
scanf("%d", &num[i]);
}
for(i=0;i<n;i++)
{
if(num[i]>800 && num[i]<900)
{
find(num[i]);
}
else
printf("%d ", num[i]);
}
printf("\n");
return 0;
}
追问
可以解释下“Find”函数的功能和原理吗
追答
你不是要把8开头的,改成另一个号码么,把这些更改的方案写到一个二维数组里,然后进行匹配,找到对应的号码,比如输入是826,就在二维数组里找到826然后输出对应的更改后的号码...
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询