}
A)0123456789B)9876543210C)0356812479D)8653097421
22、以下程序的运行结果是(22)。
main()
{intj,k,s1=0,s2=0,a[3][3]={1,2,3,4,5,6,7,8,9};
for(j=0;j<3;j++)
for(k=j+1;k<3;k++){s1+=a[j][k];s2+=a[k][j];}
printf(“\n%d,%d”,s1,s2);
}
A)26,34B)34,26C)19,11D)11,19
23、以下程序的运行结果是(23)。
main()
{inti;chara[]="ab12";
for(i=0;a[i];i++)
switch(a[i])
{case1:
printf("%d",a[i]);break;
case2:
printf("%d",a[i]);break;
default:
if(a[i]>='a'&&a[i]<='z')putchar(a[i]);
elseprintf("%d",a[i]+1);
}
}
A)ab23B)ab12C)ab4950D)ab5051
24、以下程序的运行结果是(24)。
main()
{inta[10]={3,2,5,4,6,7,9,12,8,10},i,p=0,q=0;
for(i=0;i<10;i++)
{if(a[i]>p)p=a[i];
if(a[i]printf(“\n%d,%d”,p,q);
}
A)0,0B)12,0C)12,2D)2,12
25、以下程序的运行结果是(25)。
#defineFx+y
main()
{intx=4,y=5,z;
if(x++printf(“\n%d”,z);
}
A)5B)7C)15D)20
26.以下程序的运行结果是(26)。
main()
{chara[]=”abcXYZ789”;
intj,k=0;
for(j=0;a[j];j++)if(a[j]>a[k])k=j;
j=a[0];a[0]=a[k];a[k]=j;
printf(“%s”,a);
}
A)ZbcXYa789B)cbaXYZ789C)7bcXYZa89D)9bcXYZ78a
27.以下程序的运行结果是(27)。
#include
main()
{staticchara[]=“Language”,b[]=“programe”;
char*p1,*p2;
intk;
p1=a;p2=b;
for(k=0;k<=7;k++)
if(*(p1+k)==*(p2+k))printf(“%c”,*(p1+k));
}
28.以下程序的运行结果是(28)。
main()
{intn=12345,j,n1=0,n2=0;
while(n/=10)
{
j=n%10;
if(j%2)n1+=j;
elsen2+=j;
}
printf("\n%d,%d",n1,n2);
}
A)gaeB)gaC)LanguageD)有语法错
A.9,6B.6,4C.6,9D.4,6
29.若运行以下程序时,从键盘输入abcd(表示回车),
则输出结果是(29)。
#include“stdio.h”
main()
{intc;
while((c=getchar())!
=’\n’)
switch(c-‘a’)
{case0:
case1:
putchar(c+4);
case2:
putchar(c+4);break;
case3:
putchar(c+3);
default:
putchar(c+2);break;
}
File1.txt内容:
Zhao87
Qian75
Sun90
Li93
Zhou70
}
A.fggB.effgg
C.eeffggfD.eeffgg
30.以下程序的运行结果是(30)。
#definePRT“\n%s%d%s%d”
structstudent{charname[10];intscore;};
main()
{inti;structstudentst,stmax,stmin;FILE*fp;
fp=fopen(“file1.txt”,”r”);
stmax.score=0;stmin.score=100;
for(i=1;i<=3;i++)
{fscanf(fp,”%s%d”,st.name,&st.score);
if(st.score>stmax.score)stmax=st;
}
while(!
feof(fp))
{fscanf(fp,”%s%d”,st.name,&st.score);
if(st.score}
fclose(fp);
printf(PRT,stmax.name,stmax.score,stmin.name,stmin.score);
}
A.Li93zhou75B.Sun90Zhou70C.Qian75Li93D.Zhao87Zhou70
三、程序填充题:
选择适当的内容填在以下各程序的下划线处,使程序完整。
(每空3分,共30分)
●下面程序的功能是求100至1000之间有多少个数其各位数字之和是5。
main()
{inti,s,k,count=0;
for(i=100;i<=1000;i++)
{s=0;k=i;
while((31)){s+=k%10;k=(32);}
if(s==5)(33);
}printf(“\n%d”,count);
}
(31)A)1B)kC)k>1D)k>10
(32)A)k/10B)k%10C)k-k%10D)k-k/10
(33)A)continueB)breakC)count++D)printf(“%d”,count)
●下面程序的功能是在字符串str中找出最大的字符并放在第一个位置上,并将该字符前的原字符往后顺序移动,如chyab变成ychab。
main()
{charstr[80],*p,max,*q;
q=p=str;gets(p);max=*p++;
while(*p)
{if(max<*p){max=*p;(34);}
p++;
}
while((35)){*q=*(q-1);(36);}
*q=max;
puts(str);
}
(34)A)p++B)p=qC)q=pD)q++
(35)A)q>strB)q>pC)*q>str[0]D)*q>*p
(36)A)q++B)str--C)q--D)p--
●以下函数是将数列a中的非素数去掉,只保留素数部分,然后按从大到小顺序重新排列后输出。
voidsort(int*a,intn)
{int*i,*j,t;
for(i=a;ifor(j=i+1;j(38);}
intprime(intm)
{inti;
if(m<2)retu