c语言编程题目大全_第1页
c语言编程题目大全_第2页
c语言编程题目大全_第3页
c语言编程题目大全_第4页
c语言编程题目大全_第5页
已阅读5页,还剩183页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、请编写函数fun,函数的功能是: 移动字符串中的内容,移动的规则如下: 把第1到第m个字符, 平移到字符串的最后, 把第m+1到最后的字符移到字符串的前部。 例如, 字符串中原有的内容为: ABCDEFGHIJK, m的值为3, 则移动后, 字符串中的内容应该是: DEFGHIJKABC。 char aN;int i;for(i=0;i<m;i+) ai=wi;while(wi) wi-m=wi; i+;i-;m-;for(;m>=0;m-,i-) wi=am; 2、编写函数fun,它的功能是:计算并输出下列级数和: 1 1 1 S = + + + 1×2 2

2、5;3 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(a<p)if(*a='*') for(q=a;*q;

3、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,6

4、4.5,87.5,他的平均分应当是:78.875。 int i=0; double sum=0.0; for(;i<N;i+) sum+=a->si; 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=&#

5、39;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

6、,*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(n<k)for(i=2;i<j;i+)if(j%i=0) break;if(j=i)xxn=i;n+;j+;10、请编写函数fun,它的功能是:求出能整除形参x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数

7、通过形参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、规定输入的字符串中只包含字母

8、和*号。请编写函数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

9、n=0,i=0;while(ssi) if(ssi=c) n+; i+;return n;14、请编写一个函数fun,它的功能是:求出一个2×M整型二维数组中最大元素的值,并将此值返回调用函数。int i,j,max=0;for(i=0;i<2;i+) for(j=0;j<M;j+) if(max<aij) max=aij; return max;15、请编写函数fun, 函数的功能是: 将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中, 一维数组中数据的个数存放在形参n所指的存储单元中。 例如, 二维数组中的数据为: 33 33 33 33 44 44

10、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;i<mm;i+)for(j=0;j<nn;j+)b*n=sij;(*n)+;16、编写函数fun,它的功能是:求小于形参n同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回。 例如若n为1000时,程序输出应为:s = 153.909064。int i;double s=0;for(i=1;i<n;i+)if(i%3=0 && i%7=0) s+=i;return sqrt(s

11、);17、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:*A*BC*DEF*G*,删除后,字符串中的内容应当是:ABCDEFG。char p81;int i=0,j=0;while(ai)if(ai!='*')aj+=ai;i+;aj=0;18、请编写一个函数fun,它的功能是:根据以下公式求的值(要求满足精度0.0005, 即某项小于0.0005时停止迭代): 1 1×2 1×2×3 1×2×3×4 1

12、×2××n = 1+ 2 3 3×5 3×5×7 3×5×7×9 3×5××(2n+1) 程序运行后,如果输入精度0.0005,则程序输出为3.14。int i=0;double pi=0,a=1;while(a>=eps)pi+=a;i+;a=a*i/(2*i+1);return pi*2;19、请编写一个函数fun, 其功能是: 将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母, 则不转换)。 例如, 若输入"abc4EFg&qu

13、ot;,则应输出"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;i<N;i+) if(a

14、i.s>s) s=ai.s; for(i=0;i<N;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

15、*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

16、, 980int fun(int *s, int t, int *k)int i;*k=0;for(i=0;i<t;i+)if(si>s*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语言

17、提供的字符串函数。void fun( char *a,int n )int i=0,j=0,c,k;while(ai)i+;c=i;while(ai-1='*')j+; i-;if(j>n)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;

18、i+)if(c<t)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;i<N;i+) if(strcmp(ai.num,

19、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;i+)if(stri!=strj-i-1) break;if(i>=j/2)

20、 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

21、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

22、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,ch

23、ar *p ) int i=0; for(;ai='*'i+) ai='*' while(h<p) 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

24、,k=0;for(i=0;i<N;i+)for(j=0;j<M;j+)bk=sji;k+;33、编写函数fun,其功能是:根据以下公式求P的值,结果由函数值带回。m与n为两个正整数且要求m > 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/

25、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作为函数值返回。

26、在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 = c

27、os(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个小写字母各自出现

28、的次数,并依次放在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;i<26;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

29、( int m, int *k, int xx )int i,j,c=0; for(i=2;i<=m;i+) for(j=2;j<i;j+) if(i%j=0) xxc=i; c+; break; *k=c;39、N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。 例如,若学生的成绩是:85,76,69,85,91,72,64,87, 则平均分应当是:78.625。double fun( STREC *h )float ave,sum=0.0;STREC *p;p=h->next;while(p

30、) 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传回,平均分通过函数值返回。doubl

31、e fun( STREC *a, STREC *b, int *n ) int i,j; double ave,sum=0.0; *n=0; for(i=0;i<N;i+) sum+=ai.s; ave=sum/N; for(i=0,j=0;i<N;) 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,1

32、0; 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;i<n-(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 则合

33、并后的字符串的内容应是: AAAABBBBBBBCC。 提示:strcat(a,b)的功能是将字符串b复制到字符串a的串尾上,成为一个新串。void fun(char aMN, char *b)int i,k=0;char *p;for(i=0;i<M;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

34、;*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

35、 i,j=0,s=0;for(i=0;i<m;i+) s+=scorei;s/=m;for(i=0;i<m;i+)if(scorei<s)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

36、(i=0;i<3;i+)for(j=0;j<3;j+)bij=0;for(i=0;i<3;i+)for(j=0;j<3;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值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符

37、所形成的一个新串放在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,它的功能是:找出一维整型数组元素中最大的值和它所在的下

38、标, 最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。 主函数中x是数组名, n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。void fun(int a, int n , int *max, int *d )int i;*d=0;for(i=1;i<n;i+)if(ai>a*d) *d=i;*max=a*d;50、请编写函数fun, 函数的功能是: 将M行N列的二维数组中的数据, 按列的顺序依次放到一维数组中。函数fun中给出的语句仅供参考。 例如, 二维数组中的数据为: 33 33 33 33 44 44 44 44 55 55 5

39、5 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;j<nn;j+)for(i=0;i<mm;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

40、);*(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;i<5;i+)*以下为三重循环*/for(j=1;j<5;j+)for (k=1;k<5;k+)if (i!=k&&i!=

41、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.程

42、序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。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<=2000

43、00)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又是一个完全平方

44、数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析:2.程序源代码:#include "math.h"main()long int i,x,y,z;for (i=1;i<100000;i+) x=sqrt(i+100); /*x为加上100后开方后的结果*/y=sqrt(i+268); /*y为再加上168后开方后的结果*/if(x*x=i+100&&y*y=i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/print

45、f("n%ldn",i);=【程序4】题目:输入某年某月某日,判断这一天是这一年的第几天?1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。2.程序源代码:main()int day,month,year,sum,leap;printf("nplease input year,month,dayn");scanf("%d,%d,%d",&year,&month,&day);switch(month)/*先计算某月以前月份的总天数

46、*/case 1:sum=0;break;case 2:sum=31;break;case 3:sum=59;break;case 4:sum=90;break;case 5:sum=120;break;case 6:sum=151;break;case 7:sum=181;break;case 8:sum=212;break;case 9:sum=243;break;case 10:sum=273;break;case 11:sum=304;break;case 12:sum=334;break;default:printf("data error");break;sum

47、=sum+day; /*再加上某天的天数*/if(year%400=0|(year%4=0&&year%100!=0)/*判断是不是闰年*/leap=1;elseleap=0;if(leap=1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/sum+;printf("It is the %dth day.",sum);=【程序5】题目:输入三个整数x,y,z,请把这三个数由小到大输出。1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x

48、>z则将x与z的值进行交换,这样能使x最小。2.程序源代码:main()int x,y,z,t;scanf("%d%d%d",&x,&y,&z);if (x>y)t=x;x=y;y=t; /*交换x,y的值*/if(x>z)t=z;z=x;x=t;/*交换x,z的值*/if(y>z)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.h"main()printf("Hello C-world!n");printf(" *n");printf(" *n");printf(" * n");printf(" *n");=【程序7】题目:输出特殊图案,请在c环境中运行,看一看,Very Beaut

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论