收藏 分享(赏)

沈工大C语言程序设计复习题.doc

上传人:czsj190 文档编号:5887235 上传时间:2019-03-20 格式:DOC 页数:20 大小:82.50KB
下载 相关 举报
沈工大C语言程序设计复习题.doc_第1页
第1页 / 共20页
沈工大C语言程序设计复习题.doc_第2页
第2页 / 共20页
沈工大C语言程序设计复习题.doc_第3页
第3页 / 共20页
沈工大C语言程序设计复习题.doc_第4页
第4页 / 共20页
沈工大C语言程序设计复习题.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、- 1 -C 语言程序设计复习题题型:填空、选择、 读程序写结果(参看实验教程)、编程题编程题如下:1.输出 1001000 以内的所有 3 位水仙花数。所谓水仙花数是指所有位的数字的立方和等于该数。例如 153=1+5+3(实验教程 P25)解:#includevoid main()int i;int w1,w2,w3;for(i=100;ivoid main()int i,j,temp;int a10;printf(“Input 10 numbers:n”);for(j=0;jvoid main()int score10; /*定义数组存放 10 个评 委的成绩*/float mark;i

2、nt i;int max=0; /*最高分*/int min=0; /*最低分*/int sum=0; /*10 评委的总和*/for(i=0;imax)max=scorei;for(i=0;ivoid main()- 5 -int i;for(i=2;iInt gcd(int a,int b)if(a% b=0)- 6 -return b;elsereturn gcd(b,a% b); /*递归调用*/void main()int x,y,t;printf(“Please input 2 number(x,y):n”);scanf(“%d%d”,while(x1)解:#includefloa

3、t fun(int n,int x); /*定义递归函数*/int t;if(n=0) /*如果 n=0 返回 1*/return(1);else if(n=1) /*如果 n=1 返回 x*/return(x);else /*否则递归计算*/return(2*n-1)*x*fun(n-1),x)-(n-1)*fun(n-2),x)/n;void main()int x,n;printf(“Please input n and x:n”);scanf(“%d%d”,printf(“The result is:%fn”,fun(n,x);7编写程序,利用子函数实现计算字符串的长度。 (实验教程

4、P92)解:程序代码如下:- 8 -#includeint length(char*s);void main()char a100;int i;printf(“Please input the string:n”);gets(a);i=length(a);printf(“nThe length of string is %d”,i);int length(char*s)char*p=s;while(*p)p+;return(p-s);8编写程序,利用字符串实现两个字符串的合并。 (实验教程 P93)解:程序代码如下:#include“stdio.h”char *link(char*p1,cha

5、r*p2);- 9 -void main()char str1100,str2100;printf(“Please input the first string:n”);gets(str1);printf(“nPlease input the second string:n”);gets(str2);link(str1,str2);printf(“nThe linked result is:n”);puts(str1);char*link(char*p1,char*p2)char*p;p=p1;while(*p1)pl+;while(*p2)*p1=*p2;P1+;P2+;- 10 -*p1=

6、0;return(p);9.将一个整数字符串转换为一个整数,如“-1234” 转换为-1234。 (实验教程 P98)解:#include#includeint chnum(char*p);void main()char s6;int n;gets(s);if(*s=-)n= -chnum(s+1);printf(“%dn”,n);chnum(char*p)- 11 -int num=0,k,len,j;len=strlen(p);for(;*p!=0;p+)k=*p-0;j=(- -len);while(j0)k=k*10;num=num+k;Return(num);10.编写计算个人所得税

7、的程序输入一个纳税人的个人月收入,计算应纳的个人所得税。 (程序设计教程 P65)纳税是每个公民的义务。我国的个人所得税税率表如下表所示:级数 应纳税金额(月收入-1600 ) 税率%1 不超过 500 元 52 500 元2000 元 103 20015000 元 154 500120000 元 205 2000140000 元 25- 12 -6 40001 元60000 元 307 60001 元80000 元 358 80001 元100000 元 409 超过 100000 元 45解:源程序清单如下:#include”stdio.h”void main()double salary

8、,s,tax;printf(“please input your salary one month:”);scanf(“%lf”,s=salary-1600;if(svoid main()int i,fib20=1,1; /*初始化*/printf(”n”);for(i=2;idouble mul(double x,int m)int i=0;double p=1.0;for(;i- 17 -int fun(int n) /*定义函数计算阶乘值*/int i;static int f=1; /*定义静态局部变量*/for(i=1;ivoid maxmin(int *p,int length);

9、void main()int a10=2,5,7,1,10,4,6,33,20,9;maxmin(a,10);printf(“max=%d,min%d”,a0,a1);void maxmin(int *p,int length)int k,max=0,min=0;for(k=1;kpmax)max=k;else if(pkpmin)min=k;p0=pmax;p1=pmin;说明:在子函数中实现了对数组中元素的最大值和最小值的求值,- 19 -并把最大值和最小值放到了数组的最前面的两个元素中。因为函数传递的参数是数组的首地址,因此在子函数中对数组的全部操作,就是对主函数中数组的操作。15编写一

10、个程序,将一个字符串写入文件“E:test.txt” 后,再从该文件中读出该字符串。 (程序设计教程 P198)解:#include “stdio.h”void main()FILE*fp;char ch=”C language”,*str;int x;fp=fopen(“E:test.txt”,”w”);if(fp=NULL)printf(“n Cant open the file!”);return;x=fputs(ch,fp); /*测试函数的返回值*/printf(”x=%d”,x);printf(“n Character input finished!n”);fclose(fp);- 20 -fp=fopen(“E:test.txt”,”r”);if(fp=NULL)printf(“n Cant open the file!”);return;puts(fgets(str,20,fp);fclose(fp);程序说明:首先,程序以只写的方式打开 E 盘根下的文本文件test.txt,向文件中一次性写入字符串“C Lauguage”后,返回最后一个字符的 ASCII 值。最后一个字符是“e”,因此返回“e”的 ASCII 值,“x=101”。显示写入完成,并关 闭文件。重新以只 读的方式打开该文件,从文件中读出刚才写入的内容,最后关闭文件。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 试题课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报