BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #92129同步于 2017/3/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ACM_ICPC机器人发帖

【问题】OJ98题总是答案错误,自己真心检查不出来了,求大佬帮

gungnir0123
2017/3/7镜像同步2 回复
问题简单描述 输入多组IP数据包,输出Ip数据包总长度,Ip源地址(点分十进制),ip目的地址(点分十定制),源端口,目的端口。代码如下: #include<stdio.h> #include<string.h> char str[1010]; char st[600][2]; int cToN(char ch) { if(ch>='a'&&ch<='z') return (ch-'a'+10); else return (ch-'0'); } int main() { int T,i,j,slen,k,tollength,sip1,sip2,sip3,sip4,dip1,dip2,dip3,dip4,iplen,sp,dp,q; scanf("%d",&T); getchar(); for(i=1;i<=T;i++) { gets(str); slen=strlen(str); k=0; memset(st,'0',sizeof(st)); for(j=0;j<=(slen-2);j=j+3) { strncpy(st[k],&str[j],2); k++; } for(j=0;j<k;j++) { for(q=0;q<2;q++) printf("%c",st[j][q]); printf("\n"); } tollength=cToN(st[2][0])*16*16*16+cToN(st[2][1])*16*16+cToN(st[3][0])*16+cToN(st[3][1]); sip1=cToN(st[12][0])*16+cToN(st[12][1]); sip2=cToN(st[13][0])*16+cToN(st[13][1]); sip3=cToN(st[14][0])*16+cToN(st[14][1]); sip4=cToN(st[15][0])*16+cToN(st[15][1]); dip1=cToN(st[16][0])*16+cToN(st[16][1]); dip2=cToN(st[17][0])*16+cToN(st[17][1]); dip3=cToN(st[18][0])*16+cToN(st[18][1]); dip4=cToN(st[19][0])*16+cToN(st[19][1]); iplen=cToN(st[0][1])*4; sp=cToN(st[iplen][0])*16*16*16+cToN(st[iplen][1])*16*16+cToN(st[iplen+1][0])*16+cToN(st[iplen+1][1]); dp=cToN(st[iplen+2][0])*16*16*16+cToN(st[iplen+2][1])*16*16+cToN(st[iplen+3][0])*16+cToN(st[iplen+3][1]); printf("Case #%d:\n",i); printf("Total length = %d bytes\n",tollength); printf("Source = %d.%d.%d.%d\n",sip1,sip2,sip3,sip4); printf("Destination = %d.%d.%d.%d\n",dip1,dip2,dip3,dip4); printf("Source Port = %d\n",sp); printf("Destination Port = %d\n",dp); printf("\n"); } return 0; }
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
gungnir0123机器人#1 · 2017/3/7
好郁闷,看了一下午,原来是输出格式的问题
aaakkk机器人#2 · 2018/3/20
你这是错哪了?