2014年3月全国计算机二级C语言上机模拟试题九十七之2 |
来源:2exam.com 2013-12-31 14:41:21 |
解题思路: 第一处:利用for循环语句,对数组中的各元素进行逆置,所以终止值为n/2。 第二处:进行交换数组中元素的值,由于是依次是首和尾交换,所以应填:i。 第三处:使用中间变量t来交换的,所以应填:a[n-i-1]。 *************************************************** 给定程序MODI1.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 给定源程序: #include int fun( char *p ) { int n; n= *P-’o’; p++; while( *p!=0 ) { 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]<’0’||s[i]>’7’) { printf("Error: %c not is ocatal digits!\n\n",s[i]);exit(0); } printf("The original string: "); puts(s); n=fun(s); printf("\n%s is convered to integer number: %d\n\n",s,n); }
|
网站版权与免责声明
①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权及个人隐私等问题,请在两周内邮件fjksw@163.com联系. |
|
|
|