if(_①)sl++; elseif(②)s2++; elseif(③)s3++; elseif(④)s4++; elses5++; p++; }
printf(“大写字母:%d小写字母:%d数字:%d空格:%d其它:%d\\n”,s1,s2,s3,s4,s5); }
31.请用Excel的公式与函数为超市收银员完成本次购物的收银工作,如图6所示。
图6
(1)计算商品名称为“矿泉水”所在行的“金额”(金额=价格*购买数量)。单击选择G3单元格,
输入公式:①;选择G3单元格,拖到填充柄完成其它5件商品“金额”的计算。 (2)计算“应付总金额”(应付总金额为6件商品的金额之和)。单击选择②单元格,输入公式:
③。 (3)计算“应找金额”(应找金额=顾客支付金额一应付总金额)。在J3单元格内,输入公式:④。
四、程序分析题(本大题共3小题,共75分) 32.阅读程序,写出运行结果(每空5分,共25分)
(1)下列程序的运行结果是① main() {inti=0,a=0; while(i<30) {for(;;) if(i==0)break; elsei--; i+=11; a+=i; }
printf(\}
(2)下列程序的运行结果是②
main()
{inta[3][3]={{0,1},{2,3},{4,5}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf(\}
(3)下列程序的运行结果是③
#include
{staticintx=1; x*=2; returnx; } main() {inti,s=1;
for(i=1;i<=4;i++)s*=fun(); printf(\}
(4)下列程序的运行结果是④
main() {char*p; inti;
p=(char*)malloc(sizeof(char)*20); strcpy(p,\for(i=6;i>=0;i--) putchar(*(p+i)); free(p); } (5)下列程序的运行结果是⑤ main() {FILE*fp; intx[6]={0,1,2,3,4,5},i; fp=fopen(\fwrite(x,sizeof(int),3,fp); rewind(fp);
fread(x,sizeof(int),3,fp); for(i=0;i<6;i++) printf(\fclose(fp); }
33.程序填空。按照题目要求,将正确内容填入答题卡相应位置,使程序完整。(每空5分,共25分)
(l)已知公式如下:
floatfunc(floatx) {if(x<1) returnx; elseif(①) returnx+5; else②; }
(2)编写函数,通过指针将一个字符串反向。如下程序的输出为:dcba
voidstrReverse(char*s) {charc; char*p; ③;
while(*p!=’\\0') p++; ④; while(s<=p) {c=*s; *s=*p; s++; *p=c; ⑤; } } main() {chara[10]=\strReverse(a); printf(\} 34.阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请在答题卡中指出错误代码所在的行号,并给出该行修改后的程序代码。(每处5分,共25分) (l)产生一个0-9之间的随机整数,要求用户猜这个整数。用户输入一个整数,程序判断是否与所产生的随机数相等,由屏幕显式判断结果。如果猜得不对,再次提示输入,进行判断,直到猜出这个数为止。以下程序只允许修改两行。 ..L1#include
L6intx,a=-1;
L7srand((unsigned)time(NULL));/*随机种子*/ L8x=rand();/*产生0-9的随机数*/ L9while(a!=x) L10{
L11scanf(\L12if(a=x) L13puts(\猜对\L14if(a>x)
L15puts(“太大,请重试”); L16if(a L17puts(“太小,请重试”); L18} L19} (2)函数convertNum用于实现无符号十进制数到其它进制数的转换,转换结果的每一位以字符存 储于字符数组s中(如十进制3转换为二进制后,数组s中存储的字符串为11),参数srclnt为待转换数据,d为转换的目标进制。函数convertNum转换成功返回l,失败返回0。以下程序只允许修改三行。 ..L1#include L3#defineMsizeof(unsignedint)*8 L4intconvertNum(unsignedsrclnt,intd,chars[]) L5{ L6staticchardigits[] L7charbuf[M+1]; L8intj,i=M; L9if(d<2||d>16) L1O{ L11s[0]=’\\0'; L12return0; L13} L14buf[i]='\\0'; L15do L16{ L17buf[--i]=digits[srclnt/d]; L18srclnt=srclnt%d; L19}while(srclnt); L20for(j=0;buf[i]!=’\\0';j++,i++) L21{ L22s[j]=buf[i]; L23}; L24s[j+1]='\\0'; L25return1; L26} 五、程序设计题(本题每空5分,共25分) 35.编写程序用于从键盘读取一个字符串,将字符串中所有连续的数字转换为对应的整数并添加到链表中,整个字符串处理完毕后输出链表的内容。如输入为a25re776!jk321ss时,输出为25776321 #include #defineLENsizeof(structIntData) structIntData {longdata; structIntData*next;
相关推荐: