31. 下列程序运行后的输出结果是 DCBAEF
void fun(char *p1, int n)
{ char t, *p2;
p2=p1+n-1;
while (p1<p2)
{t=*p1; *p1++=*p2; *p2--=t;} }
main()
{ char *p="ABCDEF\";
fun(p,4);
printf(″%s\n″,p); }
√32. 下列程序的运行结果是: ABCDEFFEDCBA
#define sqstack_maxsize 20
typedef struct sqstack
{ char data[sqstack_maxsize];
int top;
} SqStackTp;
main()
{ SqStackTp sq;
int i; char ch;
InitStack(&sq)
for (ch=′A′; ch<=′A′+5; ch++)
{ Push(&sq, ch);
printf(″%c″,ch); }
while(!EmptyStack(sq))
{ Pop(&sq, &ch);
printf(″%c″,ch);
} printf(″\n″); }
31. 在n行10列的二维整数组a中按先行后列的顺序出栈第一次出现的整数 x 用形参返回共行列下标,若二维数位没有 x,则行列下标均为 -1
void fun (int a[ ] [10], int x, int n, int *y, int *c)
{ int k ; flag =0;
*y = *c =-1;
for (k =0; k < n; k++)
{ for (j=0 ; j<10 ; j++)
if ( a[k] [j] = =x)
{ *y = k; *c= j ; flag =1; break ;}
if ( flag ) break;
}
return; }
32. 输入一个长整型形正整数,将其转换成对应的八进制整数的字符串,然后输出
main ( )
{ char s [10], * p ;
while (x! = 0L )
long x; { y = x %8 ;
int y ; * p = y + '0';
p = s + 7 ; p - -;
* ( p+1) ='\0'; x = x/ 8 ;
scanf ( "% ld " & x ) ; }
p + +;
printf ("%s\n" , p ) ;}
33. 输入 10整型正整数,存入一维数组中,求其中所有素数之和输出,除1和本身外不能被整除的
main ( )
{ int x [10] , s=0 , k , j;
for ( k=0 ; k<10; k++ ) scanf ( "%d" , & x [k]);
for (k=0; k<10; k++)
{if ( x [ k ]= =1) continue;
flag =1;
for ( j =2; j< x [ k ]; j++)
if ( x[k]%j = = 0)
{ flag = 0 ; break; }
if ( flag = = 1) s += x [ k ] ;
}
printf ( %d\n" s) ; }
√34、设计结构型数组,包含学生的编号、姓名、4科成绩。编程序,输入100名学生信息存入所设计结构型数组,然后输出有成绩不及格(<60分)的学生的编号、姓名和不及格的课程数。
struct { long num;
char name[10];
float score[4];
} s[100], *p;
main( )
{ int k, n; float x;
for (p=s; p<s+100; p++)
{ scanf(″ %ld, %s″, &p->num, p->name);
for (k=0; k<4; k++)
{ scanf(″ %f″, &x); p->score[k]=x;} }
for (p=s; p<s+100; p++)
{n=0;
for (k=0; k<4; k++)
if (p->score[k]<60.0) n++;
if (n>0)
printf(″ %ld, %s, %d\n″, p->num, p->name, n); } }
35.给定n个元素建立一个有序的单链表的时间复杂度, O(n)