ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:27.37KB ,
资源ID:10385942      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10385942.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言上机练习题.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言上机练习题.docx

1、C语言上机练习题1.阅读以下程序,说出其功能和运算结果。#include int main( ) int n ;int factorial(int n) ; scanf(%d,&n) ;printf(%dn, factorial(n) ; return 0 ;int factorial(int n) int i, fact=1 ; for(i=1;i=n;i+) fact=fact*i ; return fact ;若输入52.改正下列程序中的错误,在屏幕上显示“Welcome to You!”。#include int mian( ) printf(Welcome to You!n) ret

2、urn 0 ;3 若输入4,程序运行结果为【 1 】,若输入-4,运行结果为【 2 】,若输入10,运行结果为【 3 】。#includemain() int x,y;scanf(%d,&x);if(x1) y=x;printf(x=%d,y=x=%dn,x,y);else if(x10) y=2*x-1;printf(x=%d,y=2*x-1=%dn,x,y);else y=3*x-11;printf(x=%d,y=3*x-11=%dn,x,y);4 当输入19,2,21时下列程序运行的结果是()。#includemain()int a,b,c,max;printf(please scan

3、three number a,b,c:n);scanf(%d,%d,%d,&a,&b,&c);max=a;if(maxb)max=b;if(maxc)max=c;printf(max is:%d,max);5. 运行以下程序时,从键盘键入China#(代表回车),则下面程序的运行结果是。 #include void main() int v1=0,v2=0; char ch; for ( ; (ch=getchar()!=#; ) switch(ch) case a: case h: default: v1+; case o: v2+; printf(“%d,%dn”,v1,v2); 6下面程

4、序的运行结果是。#include void main()int i,j,k=19;while(i=k-1)k-=3;if(k%5=0) i+; continue; else if(k5) break; i+;printf(“i=%d,k=%dn”,i,k);7下列程序的输出为。#includevoid main()int i,j,k=0,m=0;for(i=0;i2;i+) for(j=0;j3;j+)k+;k-=j; m=i+j; printf(k=%d,m=%dn,k,m);8下面程序的运行结果是。#include void main() int n3,i,j,k; for(i=0;i3;

5、i+) ni=0; k=2; for(i=0;ik;i+) for(j=0;jk;j+) nj=ni+1; printf(“%dn”,n1);9阅读程序,写出程序运行结果。#include #define ?MAX?100void main()?int?fMAX,i,j,k=2,m=5;for(i=0;i=m;i+)?fi=1;?fk-1=2;for(i=k;i=m;i+)for(j=i-k;j=i-1;j+)?fi+=fj;?printf(%d%5d%5dn,k,m,fm); 10下面程序可求出矩阵a的两条对角线上的元素之和。请填空。 #include void main() int a33

6、=1,3,6,7,9,11,14,15,17,sum1=0,sum2=0,i,j; for(i=0;i3;i+) for(j=0;j3;j+) if(i=j) sum1=sum1+aij; for(i=0;i3;i+) for(【1】;【2】;j-) if(i+j)=2) sum2=sum2+aij; printf(“sum1=%d,sum2=%dn”,sum1,sum2); 11已知以下矩阵: 下面程序的功能是求出Y1,Y2,Y3,Y4的值。请填空。 #include void main() float a44=1,-0.2,0,0,-0.8,1,-0.2,-0.2, 0,-0.8,1,-0

7、.2,0,-0.8,-0.8,1; float x4=1,1,1,1,y4; int i,j,k; for(i=0;i4;i+) yi=0; for(j=0;j4;j+) 【1】 for(k=0;k4;k+) printf(“nY%d=%-6.2f”,k+1,【2】); 12运行以下程序时,如果从键盘上输入:abcdef则输出结果为( )。#include stdio.h#define N 6void main() char cN;int i=0;for(;iN;ci=getchar(),i+);for(i=0;iN;i+) putchar(ci); printf(n); Aa Ba Cab

8、Dabcdef b b c c c d d d e f13给出下列程序的运行结果:# include string.h#include stdio.hvoid main() char str81,str181; int k=1,i=1,j; int flag=0; gets(str); str10=str0; while(stri!=0) for(j=0;jk;j+) if(stri=str1j) flag = 1;if(flag !=1) str1k+=stri; i+; for(i=0;ik;i+) printf(%3c,str1i);如运行时输入:abcbaccba14.若输入一个整数1

9、0,以下程序的运行结果是。#include sub(int a)int c;c=a%2;return c;void main()int a,e10,c,i=0;printf(“输入一整数n”);scanf(“%d”,&a);while(a!=0)c=sub(a);a=a/2;ei=c;i+;for(;i0;i-) printf(“%d”,ei-1);15. 以下程序的正确运行结果是。 #include #define MAX 10 int aMAX,i; sub2() int aMAX,i,max; max=5; for(i=0;imax;i+) ai=i; sub1() for(i=0;iM

10、AX;i+) ai=i+i; sub3(int a) int i; for(i=0;iMAX;i+) printf(“%d”,ai); printf(“n”); void main() printf(“n”); sub1(); sub3(a); sub2(); sub3(a);16. 以下程序的正确运行结果是。 #include func(int a,int b) static int m=0,i=2; i+=m+1; m=i+a+b; return(m); void main() int k=4,m=1,p; p=func(k,m); printf(“%d,”,p); p=func(k,m)

11、; printf(“%dn”,p); 17阅读程序,说出程序的运行结果 ( )。#include #define ADD(x) x+xvoid main() int m=1,n=2,k=3; int sum=ADD(m+n)*k; printf(sum=%d,sum);18. 以下程序的正确运行结果是。int fun(int x,int y ,int *cp,int *dp)*cp=x+y; *dp=x-y;#include void main()int a,b,c,d; a=4;b=3; fun(a,b,&c,&d); printf(%d %d %d %dn,a,b,c,d);19. 以下程

12、序的正确运行结果是。#include void main() int a=2,3,4,5; int s, i, *p; s=1; p=a; for(i=0;i=3;i+) s+=*p+; printf(s=%dn,s);20以下程序的正确运行结果是。#include void main() void move(int *); int a33=1,2,3,4,5,6,7,8,9,(*p)3,*p1=*a,i,j; for(;p1*a+9;p1+)printf(%3d,*p1); printf(n); p1=*a; for(i=0;i3;i+) for(j=0;j3;j+)printf(%3d,*

13、(p1+i*3+j); printf(n); p=a; move(p); for(i=0;i3;i+) printf(%3d%3d%3dn,ai0,ai1,ai2);void move(int *pointer)int i,j,t; for(i=0;i2;i+) for(j=i+1;j3;j+) t=*(pointer+3*i+j); *(pointer+3*i+j)=*(pointer+3*j+i); *(pointer+3*j+i)=t; 21以下程序的正确运行结果是。#include #include void main() char *p1,str120=xyz,str220; p1=

14、abcd;p1+; strcat(str1+1,p1+1); strcpy(str2,str1); printf(%s,str2);22.下列程序的输出结果是#include struct abc int a, b, c; ;main() struct abc s2=1,2,3,4,5,6; int t; t=s0.a+s1.b; printf(%dn,t);1摊论个卖西瓜,以西瓜的重量论价。10斤以上的每斤0.3元,8斤以上的每斤0.4元,6斤以上的每斤0.5元,4斤以上的每斤0.7元,4斤以下的每斤0.8元,从键盘输入西瓜的重量和顾客所付钱数,输出应付款和应找钱数。2编写程序完成任意两个数

15、的+,-,*,/运算,要求从键盘输入四个运算符之一和任意两个数,输出运算结果。3给定一个日期,输出这个日期是该年的第几天(输入的数据格式为YYYYMMDD,确保输入的数据有效)。4找出199之间满足以下条件的数:该数的平方对于10的余数等于该数本身,或者该数的平方对于100的余数等于该数本身。5编写一个程序,输出菱形图案,第一行为一个字母A,第二行为三个字母B,依此类推,第n行为2n-1个相应的字母,以后每行字母个数递减。n由键盘输入。6从键盘输入若干整数(数据个数应少于50),其值在0至4的范围内,用-1作为输入结束的标志。统计每个整数的个数。试编程。7.设计一个程序,将上学期本队学员高数课

16、程的考试成绩排序,并给出每一个学员的名次。(如果有并列第一,则取消第二名,以此类推)8.编程求具有4行4列数据的二维数组每一列元素之和并将其放入该列的第五行上。输出第五行元素。9找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可以没有鞍点。(用常规算法做的时候,要求数据不能相同) 10.从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b中的所有元素都连接到a中。试编程。11通过键盘输入三行英文文字,编写程序将输入的三行文字输出,要求输出结果中不允许包含大写字母(输出时如遇到大写字母则将其转换为小写)。12.

17、以下程序的功能是应用下面的近似公式计算e的n次方。函数f1用来计算每项分子的值,函数f2用来计算每项分母的值。请编写f1和f2函数。 (前20项的和) float f2(int n) float f1(int x,int n) #include void main() float exp=1.0; int n,x; printf(“Input a number:”); scanf(“%d”,&x); printf(“%dn”,x); exp=exp+x; for(n=2;n=19;n+) exp=exp+f1(x,n)/f2(n); printf(“nThe is exp(%d)=%8.4fn

18、”,x,exp); 运行结果:Input a number:3 The is exp(3)=20.085513. 函数del的作用是删除有序数组a中的指定元素x。已有调用语句n=del(a,n,x);其中实参n为删除前数组元素的个数,赋值号左边的n为删除后数组元素的个数。请填空。14. 从键盘输入一个整数(小于等于8位),将其转换成字符串后输出。如:输入1991,输出1991。要求输入和输出在主函数完成,功能的实现在子函数完成。15编写一个函数,对具有 10个整数的数组进行如下操作:从第 n个元素开始到最后一个元素,依次向前移动一个位置,空出的最后一个位置放入第n-1个元素,输出移动后数组的全

19、部元素值。(n的取值110)16编写一程序,完成学生成绩的输入、查询、排序、插入功能,每个功能完成后都要输出结果。要求:1)在主函数中定义一个数组a11,用以存放学生的成绩,分别调用下面的6个子函数,完成各自功能;2)编写一个函数inputsc(int a),从键盘输入10个学生成绩;3)编写一个函数outputsc(int a,int n),输出n个学生成绩;4)编写一个函数query(int a,int n),查询第n个学生成绩并输出结果;5)编写一个函数sort(int a10),在函数中进行10个学生成绩从高到低排序;6)编写一个函数insert(int a),再输入一个学生的成绩,将

20、此成绩插入到原已排好序的学生成绩数组中;7) 改进上一步的函数为sort1(int a,int n, char style), 将n个学生成绩排序,排序方式根据sort()函数的style参数进行,如style为a按升序排,style为d按降序排。17输入若干个整数,编写两个函数分别实现:A.对它们按从大到小的顺序排列:sort(int *x, int n)B.对键盘输入的任一整数,能够按已排序好的规律将它插入到合适的位置:insert(int *x, int n, int y) 其中y为欲插入的整数18有一个长度为n的字符串,编写一函数strc(char *p1,char *p2,int m,int n),将此字符串中从第m 个字符开始的全部字符复制到另外一个字符串。在主函数输入和输出。19.用结构体实现输入某年某月某日,计算出这一天是本年度的第几天。20.请设计一个程序,完成以下功能: 请输入0-5之间的数字,实现相应的功能:0:原始数据的录入 1:查询某学生的信息2:插入一个学生 3:删除一个学生4:打印全体学生信息 5:退出学生登记表如下:学号姓名性别籍贯入学成绩

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1