9.以下是一个求字符串长度的函数的递归算法,请补充完整(不包括‘\\0’)
int strlen(char * str) {
if(*str==’\\0’) return(0); else
return(__1+strlen(str+1)___);
10. 以下程序将用户从键盘上随机输入的30个学生的学号、姓名、数学成绩、计算机成绩及总分写入数据文件score.txt中,假设30个学生的学号从1~30连续。输入时不必按学号顺序进行,程序自动按学号顺序将输入的数据写入文件。请在程序中的空白处填入一条语句或一个表达式。 # include
float total; } student; int i,j;
if( (fp=fopen(“score.txt”,”w”))==null ) {
printf(“file open error\\n”); exit(1); }
for(i=0;i<30;i++) { scanf(
“
%d, s,%f,%f
”
,&student.number,
student.name ,&student.math,&student.computer); student.total=student.math+student.computer; j=student.number-1; fseek(fp,j* sizeof(student),0);
if(fwrite(&student, sizeof(student), 1, fp)!=1) printf(“write file error\\n”); } fclose(fp); }
11.下面的程序用来统计文件中字符的个数,请填空。 #include
main() { FILE *fp; long num=0;
if(( fp=fopen(\ { printf( \while(!feof(fp))
{ fgetc(fp); num++;} printf(\ fclose(fp); }
12.【程序说明】将从键盘输入的三个整数,按从小到大的顺序输出。 【程序】 #include
inta,b,c,*pa=&a,*pb=&b,*pc=&c,*p; scanf(\pa,pb,pc); if(*pa>*pb)
{p=pa; pa=pb; pb=p;} if(*pa>*pc)
{p=pa; pa=pc; pc=p;} if(*pb>*pc)
{p=pb; pb=pc; pc=p;}
printf(\ *pa,*pb,*pc); return 0; }