发布时间 : 星期一 文章C语言程序设计习题及答案更新完毕开始阅读87d5d6086c85ec3a87c2c5ef
}
3.以下是一个求字符串长度的函数的递归算法,请补充完整(不包括?\\0?) int strlen(char * str)
{ if (________) return(0);
else return(_____________); }
4.已知:nx和ny的末3位数字相同,并且x≠y,x、y、n均为自然数,本程序的功能是:由键盘输入n,求满足上述条件的x、y,并使得x+y为最小
# include
for(last=1,i=1;i<=x;i++) last=_____________; return(last);
}
main( )
{ int x, n, min, flag=1; scanf(“%d”,&n); for (min=2;flag;min++)
for(x=1;x if (_______ && last3(n,x)= =last3(n,min-x)) { printf(“min=%d=%d+%d\\n”,min,x,min-x); ____________________; } } 5.有n(<=20)个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面m个数. main() { int number[20],n,m,i; printf(\共有多少个数?\ scanf(\ printf(\后移多少个?\ scanf(\ printf(\请输入%d个数.\\n\ for(i=0;i printf(\移动后顺序为:\\n\ for(i=0;i move (int array[ ],int n,int m) {int *p, array_end ; array_end=*(array+n-1) ; for (p=array+n-1; p>array; p--) *p=____________; *array=____________; m--; if (m>0) move (array,n,_________); } 6.输入n的值,补充程序使之输出如下图所示规律的图形,如n=4时的图形如下: * *** ***** ******* # include { if(n>0) { pirntf(“%c”,c); ________________; } } main( ) { int i, n ; scanf(“%d”,&n); for (i=1; i<=n; i++) { _______________; _______________; printf(“\\n”); } } 7.如下函数用于实现把从主函数接收八进制数字所构成的字符串转换为十进制整数。请补充完整,使之能够完成该功能。 #include “stdio.h” int convert ( char * octal) { int i , num,digit; ____________; for (i=0; i<=________; i++) { digit= ___________; num=num*10+digit; } return(______); } 8.已知某数列前两项为2和3,其后继项根据当前的前两项的乘积按下列规则生成: ①若乘积为一位数,则该乘积就是数列的后继项; ②若乘积为二位数,则乘积的十位和个位数字依次作为数列的后继项。 例如:当n=10时,求出的数列的前10项是: 2 3 6 1 8 8 6 4 2 4 如下函数用于实现以上功能,参数n用于从主调函数接受用于输出该数列的前n项。 void extra_array(int n) { int f1=2, f2=3, i, t ; printf(\ for(i=3;i<=n;i++) {t=f2; f2=f1*f2; if (___________) {printf(\ f1=t; } else { i++; f1=____________; f2=____________; printf(\ } } } 9.以下函数用于输出100以内能被3整除且个位数为6的所有整数,请补充完整。