资源描述
1、请编写函数fun,函数的功能是: 移动字符串中的内容,移动的规则如下: 把第1到第m个字符, 平移到字符串的最后, 把第m+1到最后的字符移到字符串的前部。 例如, 字符串中原有的内容为: ABCDEFGHIJK, m的值为3, 则移动后, 字符串中的内容应该是: DEFGHIJKABC。 char aN;int i;for(i=0;i=0;m-,i-) wi=am; 2、编写函数fun,它的功能是:计算并输出下列级数和: 1 1 1 S = + + + 12 23 n(n+1) 例如,当n = 10时,函数值为:0.909091。int i;double s;for(i=1;i=n;i+) s+=1.0/(i*(i+1);return s;3、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其它*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:*A*BC*DEF*G*,删除后,字符串中的内容应当是: ABCDEFG*。 char *q;while(ap)if(*a=*) for(q=a;*q;q+) *q=*(q+1); p-;else a+;4、函数fun的功能是: 将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的千位和十位上。 例如,当a45,b=12。调用该函数后,c=1425。*c=a/10*100+a%10+b/10*1000+b%10*10;5、某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。 例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,他的平均分应当是:78.875。 int i=0; double sum=0.0; for(;isi; a-ave=sum/N;6、请编写一个函数void fun (char a,char b,int n),其功能是:删除一个字符串中指定下标的字符。其中, a指向原字符串, 删除指定字符后的字符串存放在b所指的数组中,n中存放指定的下标。 例如,输入一个字符串: World,然后输入3,则调用该函数后的结果为: Word。 int i=0,j=0; while(ai) if(i!=n) bj=ai; j+; i+; bj=0;7、函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的个位和百位上。 例如,当a45,b=12。调用该函数后,c=4251。 *c=a/10*1000+a%10*10+b/10+b%10*100;8、函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的个位和百位上。 例如,当a45,b=12。调用该函数后,c=5241。char *p,*q;p=p1;q=p2;while(*p) p+;while(*q) *p+=*q+;*p=0;9、请编写函数fun,函数的功能是:将大于形参m且紧靠m的k个素数存入xx所指的数组中。例如,若输入17, 5,则应输出:19, 23, 29, 31, 37。函数fun中给出的语句仅供参考。int i,j=m+1,n=0;while(nk)for(i=2;ij;i+)if(j%i=0) break;if(j=i)xxn=i;n+;j+;10、请编写函数fun,它的功能是:求出能整除形参x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 例如,若 x 中的值为: 35,则有 4 个数符合要求,它们是: 1, 5, 7, 35。int i;*n=0;for(i=1;i=x;i+=2)if(x%i=0)pp*n=i;(*n)+;11、编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。 例如,分别输入下面两个字符串: FirstString- SecondString 程序输出: FirstString-SecondString*c=a/10*10+a%10*1000+b/10+b%10*100;12、规定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。 例如,字符串中的内容为:*A*BC*DEF*G*,删除后,字符串中的内容应当是:A*BC*DEF*G*。在编写函数时,不得使用C语言提供的字符串函数。int i=0,j=0;while(ai) if(ai!=*) j=i;break; i+; while(ai) ai-j=ai; i+;ai-j=0;13、请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。 例如,若输入字符串: 123412132,输入字符为: 1,则输出:3。int n=0,i=0;while(ssi) if(ssi=c) n+; i+;return n;14、请编写一个函数fun,它的功能是:求出一个2M整型二维数组中最大元素的值,并将此值返回调用函数。int i,j,max=0;for(i=0;i2;i+) for(j=0;jM;j+) if(maxaij) max=aij; return max;15、请编写函数fun, 函数的功能是: 将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中, 一维数组中数据的个数存放在形参n所指的存储单元中。 例如, 二维数组中的数据为: 33 33 33 33 44 44 44 44 55 55 55 55 则一维数组中的内容应是: 33 33 33 33 44 44 44 44 55 55 55 55。int i,j;*n=0;for(i=0;imm;i+)for(j=0;jnn;j+)b*n=sij;(*n)+;16、编写函数fun,它的功能是:求小于形参n同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回。 例如若n为1000时,程序输出应为:s = 153.909064。int i;double s=0;for(i=1;i=eps)pi+=a;i+;a=a*i/(2*i+1);return pi*2;19、请编写一个函数fun, 其功能是: 将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母, 则不转换)。 例如, 若输入abc4EFg,则应输出aBc4EFg。int i=1;while(ssi-1 & ssi)if(ssi=a & ssi=z) ssi+=A-a;i+=2;20、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在b所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。 int i,j=0,s=a0.s; for(i=1;is) s=ai.s; for(i=0;iN;i+) if(ai.s=s) bj=ai; j+; return j;21、请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串-1234,则函数把它转换为整数值 -1234。函数fun中给出的语句仅供参考。long fun ( char *p)long i,s=0;if(p0=-)i=1;while(pi)s=s*10+pi-0;i+;s*=-1;elsei=0;while(pi)s=s*10+pi-0;i+;return s;22、编写函数fun,它的功能是计算下列级数和,和值由函数值返回。 例如,当n = 10,x0.3时,函数值为1.349859。double fun(double x , int n)int i;double a=1,b=1,s=1;for(i=1;i=n;i+)a*=x;b*=i;s+=a/b;return s;23、请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。 例如, 输入如下整数: 876 675 896 101 301 401 980 431 451 777 则输出结果为: 6, 980int fun(int *s, int t, int *k)int i;*k=0;for(i=0;is*k) *k=i;24、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做, 字符串中间和前面的*号不删除。 例如,字符串中的内容为:*A*BC*DEF*G*,若n的值为4,删除后,字符串中的内容应当是:*A*BC*DEF*G*;若n的值为7,则字符串中的内容仍为:*A*BC*DEF*G*。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。void fun( char *a,int n )int i=0,j=0,c,k;while(ai)i+;c=i;while(ai-1=*)j+; i-;if(jn)k=j-n;ac-k=0;25、编写函数fun,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为: F(0)0,F(1)1 F(n)F(n1)F(n2) 例如:当t = 1000时,函数值为:1597。int fun( int t)int a=1,b=1,c=0,i;for(i=4;i=t;i+)if(ct)c=a+b;a=b;b=c;elsebreak;return c;26、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp, strcmp(a, b)当a和b字符串相等时返回值为0)。STREC fun( STREC *a, char *b ) STREC res; int i; for(i=0;iN;i+) if(strcmp(ai.num,b)=0) res=ai;return res; strcpy(res.num,); res.s=-1; return res;27、请编写函数fun, 函数的功能是: 判断字符串是否为回文?若是, 函数返回1,主函数中输出: YES, 否则返回0, 主函数中输出NO。回文是指顺读和倒读都一样的字符串。 例如, 字符串LEVEL是回文, 而字符串123312就不是回文。int fun(char *str)int i,j=0;while(strj) j+;for(i=0;i=j/2) return 1;else return 0;28、请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。 例如,s所指字符串中的内容是:2def35adh25 3kjsdf 7/kj8655x, 函数fun返回值为:11int fun(char *s)int nCnt = 0, i;for(i = 0; si; i+) if(0=si & si = 9) +nCnt;return nCnt;29、编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。 1 1 1 S=1 + + + . + 1+2 1+2+3 1+2+3+.+n 例如:若n的值为11时,函数的值为:1.833333double func(int n)int i, j;float sum, resu;resu = 0;for (i = 1; i = n; i+)sum = 0;for (j = 1; j = i; j+) sum = sum + j;resu = resu + 1 / sum;return resu;30、请编写函数fun,其功能是将形参s所指的字符串放入形参a所指的字符数组中,使a中存放同样的字符串。说明:不得使用系统提供的字符串函数。void fun( char *a , char *s) int i; for(i = 0; si; i+) ai = si; ai = 0;31、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是: 除了字符串前导和尾部的*号之外,将串中其它*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:*A*BC*DEF*G*,删除后,字符串中的内容应当是:*ABCDEFG*。在编写函数时,不得使用C语言提供的字符串函数。.void fun( char *a, char *h,char *p ) int i=0; for(;ai=*;i+) ai=*; while(hp) if(*h!=*) ai=*h; i+; h+; while(*h) ai=*h; i+; h+; ai=0; 32、请编写函数fun, 函数的功能是: 将M行N列的二维数组中的字符数据, 按列的顺序依次放到一个字符串中。 例如, 二维数组中的数据为: W W W W S S S S H H H H 则字符串中的内容应是: WSHWSHWSHWSH。void fun(char (*s)N, char *b)int i,j,k=0;for(i=0;iN;i+)for(j=0;j n。 m! P = n!(m-n)! 例如:m12,n8时,运行结果为495.000000。float fun(int m, int n) int i;float m1=1.0,n1=1.0,k=1.0;for(i=1;i=m;i+) m1*=i;for(i=1;i=n;i+) n1*=i;for(i=1;i=m-n;i+) k*=i;return m1/n1/k;34、函数fun的功能是:将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为:ABCDEFG12345,其中字符A的ASCII码值为奇数、字符1的ASCII码值也为奇数、 都应当删除,其它依此类推。最后t所指的数组中的内容应是:BDF24。void fun(char *s, char t)int i=0,j=0,m;while(m=si)if(m%2=0) tj=si; j+; i+;tj=0;35、编写函数fun,它的功能是计算: s作为函数值返回。 在C语言中可调用log ( n )函数求ln (n)。log函数的引用说明是:double log(double x)。 例如,若m的值为: 20,fun函数值为: 6.506583。double fun( int m )int i=1;double sum=0.0;for(;i=20;i+)sum = sum + log(i);sum=sqrt(sum);return sum;36、编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0 的一个实根。 迭代步骤如下:(1)取 x1 初值为0.0;(2)x0 = x1,把x1的值赋给 x0;(3)x1 = cos(x0),求出一个新的x1;(4)若x0 - x1的绝对值小于 0.000001,执行步骤(5),否则执 行步骤(2);(5)所求x1就是方程 cos(x)-x=0 的一个实根,作为函数值返回。 程序将输出结果Root=0.739086。double fun()float x0,x1=0.0;while(1)x0=x1;x1=cos(x0);if(fabs(x0-x1)1e-6) break;return x1;37、请编写一个函数 void fun(char *tt, int pp),统计在tt所指字符串中a 到 z 26个小写字母各自出现的次数,并依次放在pp所指数组中。 例如,当输入字符串:abcdefgabcdeabc 后,程序的输出结果应该是: 3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0void fun(char *tt, int pp)int i; for(i=0;i26;i+)ppi=0; i=0;while(tti)pptti-97+; i+;38、请编写函数fun,其功能是: 将所有大于1小于整数m的非素数存入xx所指数组中, 非素数的个数通过k传回。 例如,若输入:17,则应输出:4 6 8 9 10 12 14 15 16。.void fun( int m, int *k, int xx )int i,j,c=0; for(i=2;i=m;i+) for(j=2;jnext;while(p) sum+=p-s;p=p-next; ave=sum/N;return ave;40、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:按分数的高低排列学生的记录,高分在前。void fun(int a, int b, long *c)*c=a/10*100+a%10+b/10*10+b%10*1000;41、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。double fun( STREC *a, STREC *b, int *n ) int i,j; double ave,sum=0.0; *n=0; for(i=0;iN;i+) sum+=ai.s; ave=sum/N; for(i=0,j=0;iN;) if(ai.s=ave) bj=ai; j+; (*n)+; i+; return ave;42、请编写函数fun, 函数的功能是: 移动一维数组中的内容; 若数组中有n个整数, 要求把下标从0到p(含p,p小于等于n-1)的数组元素平移到数组的最后。 例如, 一维数组中的原始内容为: 1,2,3,4,5,6,7,8,9,10; p的值为3。移动后, 一维数组中的内容应为: 5,6,7,8,9,10,1,2,3,4。void fun(int *w, int p, int n)int i,aN;for(i=0;i=p;i+) ai=wi;for(i=0;in-(p+1);i+) wi=wi+(p+1);for(i=0;i=p;i+) wn-(p+1)+i=ai;43、请编写函数fun, 函数的功能是: 将放在字符串数组中的M个字符串(每串的长度不超过N), 按顺序合并组成一个新的字符串。函数fun中给出的语句仅供参考。 例如, 字符串数组中的M个字符串为 AAAA BBBBBBB CC 则合并后的字符串的内容应是: AAAABBBBBBBCC。 提示:strcat(a,b)的功能是将字符串b复制到字符串a的串尾上,成为一个新串。void fun(char aMN, char *b)int i,k=0;char *p;for(i=0;iM;i+) p=ai;while(*p) bk+=*p+;bk=0;44、请编写函数fun,它的功能是: 求出 1 到 1000 之间能被 7 或11整除、但不能同时被 7 和 11 整除的所有整数并将它们放在a所指的数组中,通过 n 返回这些数的个数。void fun (int *a, int *n)int i=0,j=0;*n=0;for(;i=1000;i+) if(i%7=0|i%11=0) if(i%7=0&i%11=0)continue; (*n)+; aj+=i;return *n;45、m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。 例如,当score数组中的数据为:10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4, below中的数据应为: 10、20、30、40。int fun(int score, int m, int below)int i,j=0,s=0;for(i=0;im;i+) s+=scorei;s/=m;for(i=0;im;i+)if(scoreis)belowj=scorei;j+;return j;46、请编写函数fun, 函数的功能是:实现B=A+A, 即把矩阵A加上A的转置, 存放在矩阵B中。计算结果在 main 函数中输出。例如,输入下面的矩阵: 其转置矩阵为: 1 2 3 1 4 7 4 5 6 2 5 8 7 8 9 3 6 9 程序输出: 2 6 10 6 10 14 10 14 18void fun ( int a33, int b33)int i,j;for(i=0;i3;i+)for(j=0;j3;j+)bij=0;for(i=0;i3;i+)for(j=0;j3;j+) bij=aij+aji;47、请编写函数fun,函数的功能是查找x在s所指数组中下标的位置作为函数值返回,若x不存在,则返回-1。int fun( int *s, int x)int i;for(i = 0; i N; i+) if(si = x) return i;if(i = N) return -1;48、函数fun的功能是: 将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为:ABCDEFG12345,其中字符A的ASCII码值虽为奇数,但所在元素的下标为偶数,因此必需删除;而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其它依此类推。最后t所指的数组中的内容应是:135。void fun(char *s, char t)int i=0,j=0;while(si)if(i%2=1 & si%2=1)tj=si;j+;tj=0;49、请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标, 最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。 主函数中x是数组名, n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。void fun(int a, int n , int *max, int *d )int i;*d=0;for(i=1;ia*d) *d=i;*max=a*d;50、请编写函数fun, 函数的功能是: 将M行N列的二维数组中的数据, 按列的顺序依次放到一维数组中。函数fun中给出的语句仅供参考。 例如, 二维数组中的数据为: 33 33 33 33 44 44 44 44 55 55 55 55 则一维数组中的内容应是: 33 44 55 33 44 55 33 44 55 33 44 55。void fun(int (*s)10, int *b, int *n, int mm, int nn)int i,j,k=0;for(j=0;jnn;j+)for(i=0;imm;i+)bk+=sij;*n=k;【程序90】题目:专升本一题,读结果。1.程序分析:2.程序源代码:#include stdio.h#define M 5main()int aM=1,2,3,4,5;int i,j,t;i=0;j=M-1;while(i t=*(a+i);*(a+i)=*(a+j);*(a+j)=t;i+;j-;for(i=0;i printf(%d,*(a+i);【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 2.程序源代码:main()int i,j,k;printf(n);for(i=1;i5;i+)*以下为三重循环*/for(j=1;j5;j+)for (k=1;k5;k+)if (i!=k&i!=j&j!=k) /*确保i、j、k三位互不相同*/printf(%d,%d,%dn,i,j,k);=【程序2】题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。2.程序源代码:main()long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf(%ld,&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i=100000)bonus=i*0.1;else if(i=200000)bonus=bonus1+(i-100000)*0.075;else if(i=400000)bonus=bonus2+(i-200000)*0.05;else if(i=600000)bonus=bonus4+(i-400000)*0.03;else if(i=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf(bonus=%d,bonus); =【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析:2.程序源代码:#include math.hmain()long int i,x,y,z;for (i=1;i2)/*如果是闰年且月份大于2,总天数应该加一天*/sum+;printf(It is the %dth day.,sum);=【程序5】题目:输入三个整数x,y,z,请把这三个数由小到大输出。1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果xy则将x与y的值进行交换,然后再用x与z进行比较,如果xz则将x与z的值进行交换,这样能使x最小。2.程序源代码:main()int x,y,z,t;scanf(%d%d%d,&x,&y,&z);if (xy)t=x;x=y;y=t; /*交换x,y的值*/if(xz)t=z;z=x;x=t;/*交换x,z的值*/if(yz)t=y;y=z;z=t;/*交换z,y的值*/printf(small to big: %d %d %dn,x,y,z);=【程序6】题目:用*号输出字母C的图案。1.程序分析:可先用*号在纸上写出字母C,再分行输出。2.程序源代码:#include stdio.hmain()printf(Hello C-world!n);printf( *n);printf( *n);printf( * n);printf( *n);=【程序7】题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!1.程序分析:字符共有256个。不同字符,图形不一样。2.程序源代码:#include stdio.hmain()char a=176,b=219;printf(%c%c%c%c%cn,b,a,a,a,b);printf(%c%c%c%c%cn,a,b,a,b,a);printf(%c%c%c%c%cn,a,a,b,a,a);printf(%c%c%c%c%cn,a,b,a,b,a);printf(%c%c%c%c%cn,b,a,a,a,b);=【程序8】题目:输出9*9口诀。1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。2.程序源代码:#include stdio.hmain()int i,j,result;printf(n);for (i=1;i10;i+) for(j=1;j10;j+)result=i*j;printf(%d*%d=%-3d,i,j,result);/*-3d表示左对齐,占3位*/printf(n);/*每一行后换行*/=【程序9】题目:要求输出国际象棋棋盘。1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。2.程序源代码:#include stdio.hmain()int i,j;for(i=0;i8;i+)for(j=0;j8;j+)if(i+j)%2=0)printf(%c%c,219,219);elseprintf( );printf(n);= 【程序10】题目:打印楼梯,同时在楼梯上方打印两个笑脸。 1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。2.程序源代码:#include stdio.hmain()int i,j;printf(11n);/*输出两个笑脸*/for(i=1;i11;i+)for(j=1;j=i;j+) printf(%c%c,219,219);printf(n);【程序11】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.2.程序源代码:main()long f1,f2;int i;f1=f2=1;for(i=1;i=20;i+) printf(%12ld %12ld,f1,f2);if(i%2=0) printf(n);/*控制输出,每行四个*/f1=f1+f2; /*前两个月加起来赋值给第三个月*/f2=f1+f2; /*前两个月加起来赋值给第三个月*/=【程序12】题目:判断101-200之间有多少个素数,并输出所有素数。1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 2.程序源代码:#include math.hmain()int m,i,k,h=0,leap=1;printf(n);for(m=101;m=200;m+) k=sqrt(m+1);for(i=2;i=k;i+)if(m%i=0)leap=0;brea
展开阅读全文