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;