欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言上机练习题.docx

    • 资源ID:46153455       资源大小:36.57KB        全文页数:24页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言上机练习题.docx

    C 语言上机练习题1. 阅读以下程序,说出其功能和运算结果。#include <stdio.h> 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 <stdio.h> int mian( )24printf("Welcome to You!n") return 0 ;3. 若输入 4,程序运行结果为【 1】,若输入-4, 运行结果为【 2】,若输入 10,运行结果为【 3】。#include<stdio.h> main()int x,y; scanf("%d",&x); if(x<1) y=x;printf("x=%d,y=x=%dn",x,y);else if(x<10) y=2*x-1; printf("x=%d,y=2*x-1=%dn",x,y);else y=3*x-11;,x,y);printf("x=%d,y=3*x-11=%dn"4. 当输入 19,2,21时下列程序运行的结果是()。#include<stdio.h> main()int a,b,c,max;printf("please a,b,c:n");scanthreenumberscanf("%d,%d,%d",&a,&b,&c); max=a;if(max<b)max=b; if(max<c)max=c; printf("max is:%d",max);5. 运行以下程序时,从键盘键入 China#<CR>(<CR>代表回车),则下面程序的运行结果是 。#include <stdio.h> 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. 下面程序的运行结果是 。#include <stdio.h>void main()int i,j,k=19; while(i=k-1)k-=3;if(k%5=0) i+; continue; else if(k<5) break;i+;printf(“i=%d,k=%dn”,i,k);7. 下列程序的输出为。#include<stdio.h>void main()int i,j,k=0,m=0;for(i=0;i<2;i+) for(j=0;j<3;j+)k+;k-=j; m=i+j;printf("k=%d,m=%dn",k,m);8. 下面程序的运行结果是 。#include <stdio.h> void main()int n3,i,j,k;for(i=0;i<3;i+) ni=0; k=2;for(i=0;i<k;i+) for(j=0;j<k;j+)nj=ni+1;printf(“%dn”,n1);9. 阅读程序,写出程序运行结果。#include <stdio.h> #define MAX 100 voidmain() 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<stdio.h>void main()inta33=1,3,6,7,9,11,14,15,17,sum1=0,sum2=0,i,j; for(i=0;i<3;i+)for(j=0;j<3;j+) if(i=j)sum1=sum1+aij; for(i=0;i<3;i+)for(【1】;【2】;j-)if(i+j)=2) sum2=sum2+aij;printf(“sum1=%d,sum2=%dn”,sum1,sum2);11. 已知以下矩阵:éY1ùêY 2úé 1ê- 0.8- 0.200 ù1- 0.2- 0.2úé1ùê1úêú êú × ê úêY 3úê 0- 0.81- 0.2úê1úêY 4úê 0- 0.8- 0.81 úê1úëûëûë û下面程序的功能是求出 Y1,Y2,Y3, Y4 的值。请填空。#include<stdio.h>void main()floata44=1,-0.2,0,0,-0.8,1,-0.2,-0.2,0,-0.8,1,-0.2,0,-0.8,-0.8,1;float x4=1,1,1,1,y4;int i,j,k; for(i=0;i<4;i+)yi=0;for(j=0;j<4;j+)【1】for(k=0;k<4;k+)printf(“nY%d=%-6.2f”,k+ 1,【2】);12. 运行以下程序时,如果从键盘上输入:ab<回车> c<回车> def<回车>则输出结果为()。#include "stdio.h" #define N 6void main() char cN;int i=0; for(;i<N;ci=getchar(),i+);for(i=0;i<N;i+)putchar(ci);printf("n");A aB aC abDabcdefbbcccdddef13. 给出下列程序的运行结果: # include "string.h" #include "stdio.h"void main()char str81,str181; int k=1,i=1,j;int flag=0; gets(str); str10=str0;while(stri!='0')for(j=0;j<k;j+)if(stri=str1j) flag = 1;if(flag !=1) str1k+=stri; i+;for(i=0;i<k;i+) printf("%3c",str1i);如运行时输入:abcbaccba14. 若输入一个整数 10,以下程序的运行结果是 。#include <stdio.h> 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(;i>0;i-) printf(“%d”,ei-1);15. 以下程序的正确运行结果是 。#include<stdio.h>#define MAX 10 int aMAX,i; sub2()int aMAX,i,max; max=5;for(i=0;i<max;i+)ai=i;sub1()for(i=0;i<MAX;i+) ai=i+i;sub3(int a)int i; for(i=0;i<MAX;i+)printf(“%d”,ai);printf(“n”);void main()printf(“n”);sub1();sub3(a); sub2(); sub3(a);16. 以下程序的正确运行结果是。#include <stdio.h>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);printf(“%dn”,p);17. 阅读程序,说出程序的运行结果 ()。#include <stdio.h>#defineADD(x)x+x void 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 <stdio.h>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. 以下程序的正确运行结果是 。#include <stdio.h>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 <stdio.h>void main()void move(int *); inta33=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;i<3;i+)for(j=0;j<3;j+)printf("%3d",*(p1+i*3+j);printf("n");p=a; move(p);for(i=0;i<3;i+)printf("%3d%3d%3dn",ai0,ai1,ai2);void move(int *pointer)int i,j,t; for(i=0;i<2;i+) for(j=i+1;j<3;j+)t=*(pointer+3*i+j);*(pointer+3*i+j)=*(pointer+3*j+i);*(pointer+3*j+i)=t;21. 以下程序的正确运行结果是。#include <stdio.h>#include <string.h>void main() char *p1,str120="xyz",str220; p1="abcd"p1+; strcat(str1+1,p1+1); strcpy(str2,str1); printf("%s",str2);22. 下列程序的输出结果是#include<stdio.h> 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编写程序完成任意两个数的+,-,*,/运算,要求 从键盘输入四个运算符之一和任意两个数,输出运算结果。3. 给定一个日期,输出这个日期是该年的第几天(输入的数据格式为 YYYYMMDD,确保输入的数据有效)。4. 找出 199 之间满足以下条件的数:该数的平方对于 10 的余数等于该数本身,或者该数的平方对于 100 的余数等于该数本身。5编写一个程序,输出菱形图案,第一行为一个字母 A,第二行为三个字母 B,依此类推,第n 行为 2n-1 个相应的字母,以后每行字母个数递减。n 由键盘输入。6从键盘输入若干整数(数据个数应少于 50),其值在 0 至 4 的范围内,用-1 作为输入结束的标志。统计每个整数的个数。试编程。7. 设计一个程序,将上学期本队学员高数课程的 考试成绩排序,并给出每一个学员的名次。(如果有并列第一,则取消第二名,以此类推)8. 编程求具有4 行4 列数据的二维数组每一列元素之和并将其放入该列的第五行上。输出第五行 元 素 。 9找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可以没有鞍点。(用常规算法做的时候,要求数据不能相同)10. 从键盘输入两个字符串 a 和 b,要求不用库函数strcat 把串b 的前五个字符连接到串a 中; 如果 b 的长度小于 5,则把 b 中的所有元素都连接到 a 中。试编程。11. 通过键盘输入三行英文文字,编写程序将输入的三行文字输出,要求输出结果中不允许包 含大写字母(输出时如遇到大写字母则将其转换 为小写)。12. 以下程序的功能是应用下面的近似公式计算 e 的 n 次方。函数 f1 用来计算每项分子的值, 函数 f2 用来计算每项分母的值。请编写 f1 和f2 函数。xL (前 20 项的和)x 2x3e = 1 + x +2!3!float f2(int n)float f1(int x,int n)#include<stdio.h>void main()float exp=1.0; int n,x;printf(“Inputanumber:”);scanf(“%d”,&x);printf(“%dn”,x); exp=exp+x; for(n=2;n<=19;n+)exp=exp+f1(x,n)/f2(n); printf(“nTheisexp(%d)=%8.4fn”,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 个元素,输出移动后数组的全部元素 值 。 (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),再输入一个学生的成绩,将此成绩插入到原已排好序的学生成绩数组中;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:退出学生登记表如下:

    注意事项

    本文(C语言上机练习题.docx)为本站会员(暗伤)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开