




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章1.2 有三个数A、B、C,设计算法,求三个数中最大的数并输出。(可用自然语言或流程图表示)。#includevoid main() int a,b,c,max; printf(please input three numbers:n); scanf(%d%d%d,&a,&b,&c); max=a; if(ba) max=b; if(cmax) max=c; printf(the answer is %dn,max); 1.3 设计算法,求N个整数的平均值。#includevoid main() int N,i; float aver,a,s=0; printf(please input the amount of the number:n); scanf(%d,&N); for(i=0;iN;i+) printf(please input the numbern); scanf(%f,&a); s=s+a; aver=s/N; printf(the average is %f,aver); 第二章1. 填空题换行、回车 整型 变量_ 整型 _6_2.5 2. 选择题_A_A_A_B_DC C D C D B D B D3. 答案:6,0,6答案:8,10,16答案:3.答案:6答案:1答案:261答案:16答案:04. 编程题 输入长方形的长和宽,输出长方形的周长和面积。#includevoid main()int a,b,l,s;scanf(“%d%d”,&a,&b);l=(a+b)*2;s=a*b;printf(“%d,%d”,l,s); 输入一个字符,输出其ASCII代码。#include void main() char a;printf(please input the char );scanf(%c,&a);printf(the ASCII is %d,a); 输入3个整数,计算并输出它们的平均值。#includevoid main()int a,b,c;float aver;scanf(“%d%d%d”,&a,&b,&c);aver=float(a+b+c)/3;printf(“%f”,aver); 已知整型变量a、b、c的值,根据以下算式编写程序求y的值。#include #include void main() int a,b,c;printf(please input the num of a b c: );scanf(%d %d %d,&a,&b,%c);printf(the y is %f,(3.8*(pow(b,2)+a*c)/(6*a);5.设a和n已定义为整型变量,a=12,求下面表达式运算后a的值。 a+=a 24 a-=2 10 a*=2+3 60 a/=a+a 0 a%=(n%=2),n的值等于5 0 a+=a-=a*=a 0第三章 1、 选择题1_C_2C_3.C4D5D_二、填空题1%f_ 2 、 %s 3 、12,56,789. 4、6e,16_ 5、1,1,3_三、编程题1编写一个程序,从键盘上输入3个数,求其和并输出。#include void main() int a,b,c,d; printf(please input the num of a,b,c:); scanf(%d%d%d,&a,&b,&c); d=a+b+c; printf(the sum of a,b and c is %d,d); 2输入一个正整数,分别输出它的八进制和十六进制数形式。#include void main() int m; printf(please input the m:); scanf(%d,&m); printf(n ba jin zhi shu zhi shi : %o,m); printf(n shi liu jin zhi shu zhi shi : %x,m);3编程把11325秒转换成“小时:分钟:秒”的形式#include void main() int a=11325; int h,m,s; h=a/3600; m=a%3600/60; s=a%3600%60; printf(%d:%d:%d,h,m,s); 4编程序,求a+b的值,a,b为任意数。本题可调用求绝对值的函数fabs,此函数包含在math.h文件中。#include #include void main() double a,b; printf(please input the num of a and b:); scanf(%lf%lf,&a,&b); printf(n a+|b|= %lf,a+fabs(b); 5 编程序,求平面上两点之间的距离。设第1个点的坐标为(x1,y1),第2点的坐标为(x2,y2),则这两个点的距离为:d=#include #include void main() float x1,y1,x2,y2,d; printf(n shu ru di 1 ge dian de zuo biao : ); scanf(%f%f,&x1,&y1); printf(n shu ru di 2 ge dian de zuo biao : ); scanf(%f%f,&x2,&y2); d=sqrt(pow(x1-x2),2)+pow(y1-y2),2); printf(n ju li d wei : %f ,d);第四章一、阅读程序,回答问题1答案:1 2答案:6 3、 B 4答案:6. 5答案:8 6答案:2 7答案:k=11二、填空 1答案:a=b或b=a或!(a!=b)或a=b或b=a 2答案: (1) 0 (2) !=0 3答案: (1) maxy(2) maxz 4答案:(1) m%2=1 (2) m%2=0三、编程1输入一个整数,判断其为奇数还是偶数。#includevoid main()int a ;printf(Please input an integer:) ;scanf(%d,&a) ;if (a%2=0)printf(ni shu ru de shu %d shi ou shu . n,a) ;else printf(ni shu ru de shu %d shi ji shu . n,a) ;2编写一个程序,实现功能是:输入一个实数,按1输出此数的相反数,按2输出此数的平方根,按3输出此数的平方。#include#includevoid main()double f ;int a ;printf(qing shu ru yi ge shu :) ;scanf(%f,&f) ;printf(n qing shu ru 1 huo 2 huo 3n) ;printf(n an 1 shu chu xiang fan shu ) ;printf(n an 2 shu chu ping fang gen ) ;printf(n an 3 shu chu ping fang ) ;scanf(%d,&a) ;if (a=1)printf(%fn,-f);else if (a=2)printf(%fn,sqrt(f);else if (a=3)printf(%fn,f*f) ;else printf(shu ru cuo wu!) ;3输入字符,输出其类型。ASCII值小于32的为控制字符,在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母,在“a”和“z”之间为小写字母,其余则为其它字符。#includevoid main()char a;scanf(“%c”,&a);if(a0)printf(“this is a Control Character”);if(a=0&aA&aa&az) printf(“this is a lowercase number”); else printf(“this is an other character”);4输入某年某月某日,判断这一天是这一年的第几天。#includevoid main()int a,b,c,k,s=0;printf(qing shu ru nian, yue, ri:) ;scanf(%d,%d,%d,&a,&b,&c);if (a%4 = 0 & a%100 != 0) | a%400 = 0) k = 29 ;else k = 28 ;switch(b)case 12: s+=30 ;case 11: s+=31 ;case 10: s+=30 ;case 9 : s+=31 ;case 8 : s+=31 ;case 7 : s+=30 ;case 6 : s+=31 ;case 5 : s+=30 ;case 4 : s+=31 ;case 3 : s+=k ;case 2 : s+=31 ;case 1 : s+=c ;printf(ni shu ru de shu shi zhe nian de di %d tian.,s) ;第五章一、单选题1 C2 C3D4 C5B6C7 A8D 9 C10 C 二、写程序运行结果1答案:1 ,2 ,3 2答案:52 3答案:s=6 4答案:1,-25答案:a=16 y=60 6答案:6三、程序填空1答案:(1) cx=getchar() (2) front!= (3) cx2答案:(1) s=0 (2) m%n=0 (3) m=s3.答案:(1) j=1 (2) k=64答案:(1) 50 (2) n=2 (3) h/25答案:(1) a (2) i=n (3) t*10四、程序改错1答案:(1) int n,k=0; (2) k=k*10+n%10;2答案:(1) for(i=0;i10;i+)(2) j%3!=03答案:(1) double k=1,t=1;(2) k=k+1/t;4答案:(1) i=2;(2) k-;5答案:(1)h=(float)(5-2)/n; (2) a=a+h;五、编写程序1编一程序,将2000年到3000年中的所有闰年年份输出并统计出闰年的总年数,要求每10个闰年放在一行输出。#includevoid main()int year, k=0 ;for (year = 2000; year=3000; year+) if (year%4 = 0 & year%100 != 0) | year%400 = 0) k+; printf(%6d,year) ; if (k%10 = 0) printf(n);printf(nrun nian de zong nian shu shi %d,k) ; 2若有如下公式:试根据上述公式编程计算的近似值(精确到10-6)。#include #include void main()float pi,a,b;int i=1;a=0;b=1;while(b=0.)b=1/(float)(i*i);a+=b;i+;pi=sqrt(6*a);printf(%fn,pi);3用09之间不同的3个数构成一个3位数,统计输出共有多少种方法?#includevoid main()int i=0, j=0, k=0,n=0; for (i =1; i 10; i+)for(j=0;j10;j+)if (i=j) continue ;for (k=0;k10;k+)if (i=k | j=k ) continue ;n+ ;printf(%d,n) ;4找出199之间的全部同构数。同构数是这样一组数:它们出现在平方数的右边。例如:5是25右边的数,25是625右边的数,5和25都是同构数。#includevoid main()int i,j,k ;k=10;for (i=1; i100;i+) if (i=10) k=100;j = i*i ;if (j%k=i)printf(%dt,i) ;5猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了个。第2天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃了前一天剩下的一半零一个。到第10天再想吃时,只剩下一个桃子了。问第1天共摘多少个桃子?。#includevoid main()int day, x ;x = 1;for (day = 1; day =9; day+)x = (x + 1)*2 ;printf(di yi tian hou zi zhai le %d ge tao zi,x) ;6打印以下图形* * * * * * * * *#includevoid main() int i, j ,k;for (i=1; i=4; i+)for (j=1;j=4-i;j+)printf( ) ;printf(*) ;for (j=1;j=i-1;j+) printf( *) ;printf(n) ;7百钱百鸡问题。公鸡五元一只,母鸡三元一只,鸡雏一元三只。若用100元买100只鸡,可买公鸡、母鸡和鸡雏各多只?#includevoid main()int i , j , k ;for (i = 0; i = 100/5; i+) for (j = 0; j = 100/3; j+) for (k = 0; k = 100; k+)if (k%3 != 0) continue ;if (5*i + j*3 + k/3 = 100) & (i + j + k =100) printf(gong ji mu ji chu ji wei %d, %d, %d.n,i,j,k) ; 8一个正整数与3的和是5的倍数,与3的差是6的倍数,编写一个程序求符合条件的最小数。#includevoid main()int k=1;while( !( (k+3)%5 = 0) & (k-3)%6 =0) ) )k+ ;printf(%d,k) ;9从键盘输入20个整型数,统计其中负数个数并求所有正数的平均值。#includevoid main()int a, i , j =0, k=0 ;float s = 0 ;printf(qing shu ru 20 ge shu: ) ;for (i = 1; i = 20; i+)scanf(%d,&a) ;if(a 0) j+ ;s+=a ;s = s/(float)j ;printf(fu shu de ge shu shi %d.n,k) ;printf(zhe shu de ping jun zhi shi %f.n,s) ;10父亲今年30岁,儿子6岁,经过多少年后,父亲的年龄是儿子的两倍?#includevoid main()int i,j,k; i=30; j=6; k=0; while(!(i+k=(j+k)*2) k+; printf(%d,k) ;第六章一、选择题1_C_ 2C_ 3_D_ 4_C_ 5_C_ 6_B_ 7_D 8. _A_二、填空题 1答案:b!=0 2.答案:15三、 编程题1编写一个求x的y次方的函数。#includeint func(int x,int y);void main()int a,b,c; printf(please input the two numbers: n); scanf(%d%d,&a,&b); c=func(a,b); printf(the answer is n); printf(%dn,c);int func(int x,int y) int i, s=1; for(i=1;i=y;i+) s=s*x; return(s);2编写函数,要求去掉字符串中所有空格。# include # include void f(char s)int i,j;i=j=0; while(si) if(si!= )sj+=si; i+; sj=0;void main() char s80;gets(s); f(s);puts(s);3编写函数,判断一个字符串是否是回文,如是返回1,否则返回-1(回文是指这个字符串逆置后不变,如aba就是回文。)# include # include int f(char s,int n) int i,f; f=1; i=0; while(f&in-i-1) if(si!=sn-i-1) f=-1; break; i+; return f;void main() char s80; gets(s); if(f(s,strlen(s)=1) printf(n Yes ); else printf(n No );4编写函数fun求1!+2!+3!+n! 的和,在main函数中由键盘输入n值,并输出运算结果。#includeint fun(int n);void main()int n,c; printf(please input the number: n); scanf(%d,&n); c=fun(n); printf(the answer is n); printf(%dn,c);int fun(int n)int i,a,s; s=1; a=0; for(i=1;i=n;i+) s=s*i; a=a+s; return(a);5编写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数并输出结果。两个整数由键盘输入#includeint func(int x,int y);int fun(int x,int y);void main()int x,y,c,d; printf(please input the two numbers: n); scanf(%d%d,&x,&y); c=func(x,y); d=fun(x,y); printf(the answer is n); printf(zui da gong yue shu shi %dn,c); printf(zui xiao gong bei shu shi %d,d);int func(int x,int y) int t; t=x%y; while(t) x=y; y=t; t=x%y; return(y); int fun(int x,int y) return (x*y/func(x,y);第七章1、 选择题 1. D 2. B 3. D 4. D 5. A 二、阅读程序写出结果1. 答案:1 2. 答案:12345 3. 答案: t*M 4. 答案:7078 9198三、程序填空1. 答案:(1) i(2) i=1(3) i 2. 答案:(1) i=9(2) i=9(3) i%3=0四、程序改错1.答案:(1) int a3=0;(2) for(i=1;i3;i+) a0=a0+ai;2. 答案:(1) for(i=0;id;i+) (2) t2*d=0 (3) scanf(“%s”,s)五、程序问答1. 答案:(1). 升序 (2). 1 2 3 4 5 5 6 7 8 92. 答案: (1). 33 33 27 22 12 11 -1 -8 (2). -8 -1 11 12 22 27 33 33六、编程1. 在一组数中找出最大与最小值之差。#includevoid main() int a10,i,x,y; printf(please input the number:n); for(i=0;i10;i+) scanf(%d,&ai); x=a0; y=a0; for(i=1;ix) x=ai; if(aiy) y=ai; printf(the answer is %d,x-y);2. 用选择法将一组整数按降序排序。#includevoid main() int a10,i,j,k,t; printf(please input the numbers:n); for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i=8;i+) k=i; for(j=i+1;jak) k=j; t=ak; ak=ai; ai=t; for(i=0;i=9;i+) printf( %d,ai);3. 在一个按升序排列的数组中插入一个数,使数组仍有序。#include void main() int a7=3,5,7,9,11,23; int b,i,k; scanf(%d,&b); a6=b; i=5; while(b=0) ai+1=ai; ai=b; i-; printf(cha ru hou de shu zu n); for(i=0;i7;i+) printf(%d ,ai); 4. 用“顺序”查找法,在一组数中查找一个值为K的元素。若有,输出YES;若无,输出NO。#includevoid main() int a10,i,j,k; printf(please input the numbers:n); for(i=0;i10;i+) scanf(%d,&ai); printf(please input the aim number:n); scanf(%d,&k); for(i=0;i9) printf(NOn); else printf(YESn);5. 输出以下形式的图案: * * * *#includevoid main() int i,j; for(i=1;i=4;i+) for(j=1;j=i-1;j+) printf( ); for(j=1;j=9-2*i;j+) printf(*); printf(n); 6. 将一个数组按逆序重新存放在该数组中。#includevoid main() int a10,i,t; printf(please input the numbers:n); for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i10/2;i+) t=ai; ai=a10-1-i; a10-1-i=t; for(i=0;i10;i+) printf( %d,ai);7. 打印一个5行的杨辉三角形。#includevoid main() int a55=0,i,j; for(i=0;i=4;i+) ai0=aii=1; for(i=2;i=4;i+) for(j=1;ji;j+) aij=ai-1j+ai-1j-1; for(i=0;i=4;i+) for(j=0;j=i;j+) printf( %3d,aij); printf(n); 8. 用二维字符数组存储下列图形并输出。* * * *#includevoid main() char c55=0; int i,j; for(i=0;i5;i+) for(j=i;j5;j+) cij=*; for(i=0;i5;i+) for(j=0;j5;j+) printf(%c,cij); printf(n); 9. 计算二维数组主对角线元素之和。#includevoid main() int a33,i,j,x; printf(please input the numbers:n); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); x=0; for(i=0;i3;i+) x=x+aii; printf(the answer is %dn,x);10. 用“折半”查找法,在一组按降序排列的数中查找一个值为K的元素。若有,输出YES;若无,输出NO。#includevoid main() int a10=10,9,8,7,6,5,4,3,2,1,l,r,m,k; printf(please input the numbers:n); scanf(%d,&k); l=0; r=9; m=(1+r)/2; while(lam) r=m-1; else l=m+1; m=(l+r)/2; if(l=r) printf(n YES ); else printf(n NO );11. 编写一个程序计算一个字符串的长度。(不使用库函数)#include#include void main() char s80; int n=0; gets(s); while(sn)n+; printf(length = %d,n);12. 比较两个字符串S1、S2的大小。(不使用库函数)若S1S2 ,输出1;若S1=S2,输出0;若S1S2输出-1。#include#include void main() char s180,s280; int i,n; gets(s1); gets(s2); i=0; while(s1i&s2i&s1i=s2i)i+; if(!s1i|s1is2i) n=1; if(!s1i&!s2i) n=0; printf(jie guo shi %d,n);13. 用“冒泡”法将一组数按升序排序。#includevoid main() int a10,i,j,x; for(i=0;i10;i+) scanf(%d,&ai); for(j=0;j9;j+) for(i=0;iai+1) x=ai; ai=ai+1; ai+1=x; for(i=0;i10;i+) printf(%4d,ai);14. 在一个二维数组中形成并输出如下矩阵 1 1 1 1 1 2 1 1 1 1 3 2 1 1 1 4 3 2 1 1 5 4 3 2 1#include void main() int a55; int i,j; for(i=0;i5;i+) for(j=0;j5;j+) if(i=j) aij=1; else aij=i-j+1; for(i=0;i5;i+) for(j=0;j5;j+) printf(%2d,aij); printf(n); 15. 有一个34的矩阵,求其中的最大元素的值及位置。#includevoid main() int a34,i,j,x,l,r; for(i=0;i3;i+) for(j=0;j4;j+) scanf(%d,&aij); x=a00; l=r=0; for(i=0;i3;i+) for(j=0;jx) x=aij; l=i; r=j; printf(Max number is %d,position is %d,%dn,x,l,r);第九章一、选择题 1.( D ) 2. B 3.( D )二、写出以下程序的运行结果 (1)答案:6 (2)答案:6 (3)答案:2,3 (4)答案:6 (5)答案: Zhao,m,85,903、 改错题1、答案:(1) 最后加分号“;”。 (2) 改为scanf(%d %d,&pt.x,&pt.y); (3) 改为printf(The point you input is:x=%d,y=%d,pt.x,pt.y);2、答案:( 1) 改为struct People peo;(2)改为scanf(%c,&);(3)改为scanf(%c&,peoi.sex);(4)改为scanf(%s,&peoi.position); (5) 改为:printf(The %d Peoples name is:%s,sex:%c,position:%s,age:%d n,i+1,,peoi.sex,peoi.position,peoi.age);四、编程题(1) 设计一个通信录的结构体类型,并画出该结构体变量在内存的存储形式。struct photonote char name20; char number20;(2)用结构体变量表示矩形,编写矩形面积函数,矩形周长函数,输入矩形长宽函数,输出矩形长宽函数,输入矩形的长宽并进行面积和周长的计算。#include struct juxing float chang; float kuan;struct juxing shuru() struct juxing r; printf( shu ru ju xing chang kuan :n); scanf(%f %f,&r.chang,&r.kuan); return r;void shuchu(struct juxing r) printf( chang shi : %fn,r.chang); printf( kuan shi : %fn,r.kuan);float mianji(struct juxing r) return r.chang*r.kuan;float zhouchang(struct juxing r) return 2*r.chang+2*r.kuan;void main() struct juxing a; a=shuru(); shuchu(a); printf( mian ji wei : %fn,mianji(a); printf( zhou chang wei : %fn,zhouchang(a);(3)设有学生情况登记表如表9.3所示,用选择法对该表按成绩从小到大排序。#include struct Studentint num;char name8;char sex;int age;float score;void main()int i,j;int min;struct Student temp;struct Student stu10=101,zhang,M,19,98.3,102,wang,F,18,87.2,103,li,M,20,73.6,104,zhao,F,20,34.6,105,miao,M,18,99.4,106,guo,M,17,68.4,107,wu,F,19,56.9,108,xu,F,18,45.0,109,lin,M,19,76.5,110,ma,F,19,85.3;for(i=0;i9;i+) min = i ;for(j=i;j9;j+) if(stui.scorestuj+1.score) min=j+1; temp=stumin; stumin=stui; stui=temp;for(i=0;i=9;i+) printf(num=%d,name=%s,sex=%c,age=%d,score=%fn,stui.num,,stui.sex,stui.age,stui.score); getchar();(4)某班有20名学生,每名学生的数据包括学号、姓名、3门课的成绩,从键盘输入20名学生的数据,要求打印出每门课的平均成绩,以及每名学生的平均成绩并输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年农村宅基地房屋买卖及预售交付时间详细约定范本
- 2025年度城市绿地生态修复项目场地平整施工服务合同
- 2025年文物遗址修复与文化遗产保护综合施工合同
- 2025年智能办公空间租赁与买卖一体化服务合同
- 2025年度城市轨道交通线路设计招标与施工管理合同
- 2025年叉车行业定制化租赁及维修保养合同范本
- 2025年企业内部安全保卫与保安劳务输出管理协议
- 2025年智能大厦安保服务与人员聘用综合合同范本
- 2025年度遗体告别仪式专用场地租赁与生态绿化维护服务合同
- 2025年智能仓储设备租赁与维护服务合同
- 中药学专业大学生职业生涯规划与行业趋势
- ESD静电管理评审计划+管理评审报告全套资料
- 04735数据库系统原理-串讲
- 绿色工厂培训课件
- 制造业的网络安全培训
- 接触网工程图识图 六跨电分相绝缘锚段关节安装图的识图
- 工业厂房监理规划范本
- 中建硅墨烯保温板外墙保温施工方案
- 急性心肌梗死的护理PPT
- 花卉学 二年生花卉
- 管道工程隐蔽验收记录表
评论
0/150
提交评论