C语言计算机题库第91套,2017年全国计算机等级考试C语言上机考试题库-91-95套共5套新题.doc...

2017年全国计算机等级考试C语言上机考试题库-91-95套共5套新题

2017年全国计算机等级考试C语言上机考试题库

学生练习用第91套至第95套内涵5套新题

第九十一套

1、程序填空

下列给定程序中,函数fun的功能是:逆置数组元素中的值。例如:若a所指数组中的数据为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。形参n给出数组中数据的个数。请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!

-----------------------------------------------------------------------------------------------------------------

#include

void fun(int a[], int n)

{ int i,t;

/**********found**********/

for (i=0; i<___1___ i>

{

t=a[i];

/**********found**********/

a[i] = a[n-1-___2___];

/**********found**********/

___3___ = t;

}

}

main()

{ int b[9]={1,2,3,4,5,6,7,8,9}, i;

printf("\nThe original data :\n");

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

printf("%4d ", b[i]);

printf("\n");

fun(b, 9);

printf("\nThe data after invert :\n");

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

printf("%4d ", b[i]);

printf("\n");

}

-----------------------------------------------------------------------------------------------------------------

【参考答案】(1)n/2??(2)i??(3)a[n-i-1]或a[n-1-i]【考点分析】本题考查:for循环语句;变量交换算法。【解题思路】填空1:逆置数组元素中的值,将a[0]与a[n-1]对换位置,依此类推,那么需要对换n/2次。填空2:将a[0]与a[n-1]对换位置,a[1]与a[n-2]对换位置,依次类推,则a[i]=a[n-1-i]。填空3:普通的调换位置程序,显然填入a[n-i-1]。

下列给定程序中函数fun的功能是:将一个由八进制数字字符组成的字符串转换成十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。例如,若输入77777,则输出32767。请改正程序中的错误,使它能得出正确结果。注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。

-----------------------------------------------------------------------------------------------------------------

#include

int fun( char *p )

{ int n;

/**********found**********/

n= *p-'o';

p++;

while( *p!=0 ) {

/**********found**********/

n=n*8+*p-'o';

p++;

}

return n;

}

main()

{ char s[6]; int i; int n;

printf("Enter a string (Ocatal digits): "); gets(s);

if(strlen(s)>5){ printf("Error: String too longer !\n\n");exit(0); }

for(i=0; s[i]; i++)

if(s[i]'7')

{ printf("Error: %c not is ocatal digits!\n\n",s[i]);exit(0); }

printf("The original

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值