试卷编号:8258 所属语言:计算机基础 试卷方案:111 试卷总分:400分 共有题型:3种
一、程序填空 共5题 (共计100分)
第1题 (20.0分) 题号:650 难度:中 第1章 /*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
函数int change(char s[])将s中的数字字符串转换成整数, 并返回该数。例如s[]中为\,转换后为123。
函数int multi(char s[],char t[])将s字符串转换的整数乘 以t字符串转换的整数,并返回乘积。
--------------------------------------------------------- 注意:请勿改动程序中的其他内容。
-------------------------------------------------------*/
#include
int i,sum; sum=0;
for(i=0;s[i];i++)
/**************************SPACE*************************/ sum=sum*10+【?】-'0'; return sum; }
int multi(char s[],char t[]) {
int mul;
/**************************SPACE*************************/ mul=【?】; return mul; }
int main() {
char s1[]=\ int mst;
mst=multi(s1,s2); printf(\ return 0; } 答案:
=======(答案1)======= s[i]
=========或========= *(s+i)
=======(答案2)======= change(s)*change(t) =========或========= change(t)*change(s)
第2题 (20.0分) 题号:651 难度:中 第1章 /*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
函数void check(long n, int c[])检测长整型正整数n是几 位数,同时找出最小的数字。将位数和最小的数字存放在数 组c中。
例如n=1256044时,n是7位数,最小的数字是0。
--------------------------------------------------------- 注意:请勿改动程序中的其他内容。
-------------------------------------------------------*/
#include
/**************************SPACE*************************/ void check(long n, int 【?】) {
int min,p,k; min=9; p=0; do{
k=n;
min=(min>k)? k: min; n/=10; p++;
}while(n); c[0]=p; c[1]=min; }
int main() {
long n; int c[2];
printf(\输入长整型正整数:\ scanf(\ check(n, c);
/**************************SPACE*************************/ printf(\是%d位数,最小数字是%d\\n\【?】); return 0; } 答案:
=======(答案1)======= c[]
=========或========= c[2]
=======(答案2)======= n,c[0],c[1]
第3题 (20.0分) 题号:652 难度:中 第1章 /*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
函数int convert(int a,int nsys)将nsys(nsys<10)进制数a, 转换成十进制数并返回。
--------------------------------------------------------- 注意:请勿改动程序中的其他内容。
---------------------------------------------------------*/
#include
int convert(int a,int nsys) {
int t,p;
if(a t=t+a*p; /**************************SPACE*************************/ 【?】; p*=nsys; } return t; } int main() { int i,d; int num[N][2]={{704,8},{10011,2},{266,7},{3,5},{22110,3}}; for(i=0;i d=convert(num[i][0],num[i][1]); /**************************SPACE*************************/ printf(\进制数的%d\\t = 十进制数的%d\\n\【?】); } return 0; } 答案: =======(答案1)======= a/=10 =========或========= a=a/10 =======(答案2)======= num[i][1],num[i][0],d 第4题 (20.0分) 题号:653 难度:中 第1章 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 函数void rearr(int a[], int n)将已经升序排列的一维数 组a中的n个元素重新排列,重新排列的规则是: