pintf(“3.x=%d\\n”,x);
}
4. 写出当运行程序输入5时,程序输出结果。(5分) void main() {int i,j,n;
scanf(\for(i=0;i<=n-1;i++){
for(j=0;j<=n-1;j++)
if(i+j>=n/2&&i+j
4. 写出程序输出结果。(3分)
void main() { int y;
fac(2,&y);
printf(\} fac(int n,int *t)
{int s;
if(n==1||n==0)*t=1; else {
fac(n-1,&s);*t=n*s;} }
5. 阅读下列程序,写出运行结果。(5分) #include
void main() { int i,j;
static int a[10]={1,1,1,1,1,1,1,1,1,1}; for(i=0;i<10;i++) for(j=0;j
6.. 阅读下列程序,写出运行结果。(4分) #include
{char t,*s1,*s2; s1=w;
s2=w+n-1; while(s1
void main()
{ char a[]=\ fun(p,strlen(p)); puts(p);
}
7. 写出程序运行结果,并说明该程序的功能。(3分) int fun(int x) { int countx=0; while(x){ countx++; x=x&(x-1);} return countx; }
void main() { int x=0xEF;
printf(\
}
8. 假设输入字符串为\,写出程序运行结果。(3分) #include
#include
{int i=0,k,r;char str[5][20],astr[20]; while(i<5) { gets(astr);
if(!i)
strcpy(str[i],astr); else {
k=0;
while(strcmp(astr,str[k])>0&&kk;r--)
strcpy(str[r],str[r-1]); strcpy(str[k],astr); }
i++; }
for(i=0;i<5;i++)
printf(\
}
四、程序填空题(每空2分,共40分)
2. 下列程序读入无符号十六进制数(0,1,…..,9,a,b,….,f),将其转换为十进制数输出,请将程
序空缺部分补全。 # include
int f(char *s) { int n=0,i;
for(i=0;s[i]!='\\0'){
if(s[i]>='0'&&s[i]<='9') s[i]=s[i]-'0'; else
(1) ; n=n*16+ (2) ; } return n; }
void main() { char s[10];;
scanf(“%s”,s); printf(\ }
有10个大小不等的自然数,请将它们有小到大排序,注意:输入的数据为1~10的正整数,且输入的每个数个不相同。 void sort(int e[],int n) { int i,t;
for(i=1;i
{ t= (3) ; (4) ; e[i]=t; } }
# include
printf(“Input the number from 1 to %d\\n\”); for(i=1;i<11;i++) scanf(\
sort(a,10);
printf(“\\n====sort over=====\\n”); for(i=1;i<11;i++) printf(\printf(\}
3. 输入一个正整数n,判断它是否为一个对称数。例:12321是对称数,而1234则不是。 # include
int IsSymmetry(unsigned long n) { unsigned long i=n,j=0; int flag=0;
while(i){j=j*10+i; i/=10;} if( (5) ) flag=1; return flag; }
void main() { unsigned long n; scanf(\
if( (6) )
printf(\ else
printf(\}
4. 计算字符串str2在母串str1中子串出现的次数。 # include
{ char str[80],substr[80];; int n;
gtes(str);gets(substr);
printf(“%d\\n”,count(str,substr)); }
int count(char *p1,char *p) { char *p2=p;int sum=0;
while( (7) ){ if(*p1==*p2&&*p2!='\\0') { p1++;p2++;} else p1++;
if( (8) ) sum++; p2=p; }
return sum;
}
5. 设一歌唱评奖会上有n(n>20)个评委为歌手A评分,依次输入n个评委为歌手A打的分,再去掉1个最高分和1个最低分,计算余下的分数平均值为歌手A的得分。 #include
#define N 100
int findmax(int a[],int n,int *max1,int *max2)/*求最高分和次高分*/ {int i,m1,m2;