计算机三级网络上机考试中遇到的麻烦。N郁闷。高手指教下吧。

来源:百度知道 编辑:UC知道 时间:2024/06/08 08:48:51
昨天是网络三级考试。我今天笔试课感觉还好。可上机时候却郁闷得要死。

现在都想哭 。一个字。我上机挂掉了。

我到现在都不知道自己错在哪儿。也许是我自己太菜了。最基本的格式都不懂。哎。。

我把那道上机题的大致题目给大伙说一下。高手帮忙看一下。小弟错在哪儿?谢谢啦

a[i]有二百个四位数。。它们的千位数和个位数组成一个新的十位数(这个新十位上十位数的数是千位上的数。个位上的数是以前的个位数)。百位数和十位数组成一个新的十位数(新十位数的十位数是百位上的数。个位数是以前的十位数)。。这些新组成的十位数如果是奇数。而且能被5整除。但是不能同时被5整除。它们的十位数不能为0.然后把满足条件的数放到b数组中。再进行从大到小排列。

我编的程序是这样的。大家帮忙看一下。我的格式有没有错误。比如是不是少了个分号。或者括号什么的。。我把我的答案记着。就是想回来问问高手。因为上机时候一直提示我错误。我就是不知道哪儿错了。 呜。。。

这里面的q定义的是千位数。b定义的是百位数。s定义的是十位数.g定义的是个位数。xy定义的是组成的新十位数。ac定义的也是新十位数。

void jsval()

{int i,q,b,s,g,j,xy,n,ac;

for(i=0;i<200;i++)

{q=a[i]%1000; /*这句我开始是这样写的。但同学说这样写不对。让我改成q=a[i]/1000;

b=a[i]%1000/100; 原因是什么呢?*/

s=a[i]%100/10;

g=a[i]/10; /*这句我开始是这样写的。但同学说这样写也不对。让我改成q=a[i]%10;

} 但这样又是为什么呢?...这两条为什么一个用模一个用除。这是为什么呢?{

{xy=10*q+g;ac=10*b+s;}

q=a[i]%1000 意思是a[i]除以1000后所得的余数;q=a[i]/1000表示除以1000后取整----得到千位数;同理g=a[i]/10表示a[i] 除以10取整;
第二个是没有分号的错误,C语言默认情况下未定义未知数时以零作为其初值.cnt可不用赋初值.

网络技术的题目这么难啊?