C语言上机练习题_第1页
C语言上机练习题_第2页
C语言上机练习题_第3页
C语言上机练习题_第4页
C语言上机练习题_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、C 语言上机练习题 PAGE PAGE 24阅读以下程序,说出其功能和运算结果。#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;若输入 5改正下列程序中的错误,在屏幕上显示“Welcome to You!”。#include int mian( )printf(Welcome to You!n

2、) return 0 ;若输入4,程序运行结果【1,若输入-4, 运行结果【2,若输入10,运行结果【3#include main()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;,x,y);printf(x=%d,y=3*x-11=%dn当输入19,2,21时下列程序运行的结果是(。main()int a,b,c,max;printf(please a,b,c:n);scanthreescan

3、f(%d,%d,%d,&a,&b,&c); max=a;if(maxb)max=b; if(maxc)max=c; printf(max is:%d,max);运行以下程序时,从键盘键入 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);下面程序的运行结果#include void main()int i,j,k=19; while(i

4、=k-1)k-=3;if(k%5=0) i+; continue; else if(k5) break;i+;printf(“i=%d,k=%dn”,i,k);下列程序的输出为#includevoid main()inti,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);下面程序的运行结果。#include void main()int n3,i,j,k;for(i=0;i3;i+) ni=0; k=2;for(i=0;ik;i+) for(j=0;jk;j+)nj=ni+1;printf

5、(“%dn”,n1);阅读程序,写出程序运行结果。#include #define MAX 100 voidmain()intfMAX,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);a#includevoid main()inta33=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=

6、0;i3;i+)for(【1】;【2】;j-)if(i+j)=2) sum2=sum2+aij;printf(“sum1=%d,sum2=%dn”,sum1,sum2);已知以下矩阵:Y12 10.200 10.2 Y3 00.810.2Y 4 00.80.81 1 Y4#includevoid 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;i4;i+)yi=0;for(j=0;j4;j+)【1】for(k=0;k4;k+

7、)printf(“nY%d=%-6.2f”,k+ 1,【2】);运行以下程序时,如果从键盘上输入:ab c def则输出结果为(。#include stdio.h #define N6voidmain() charcN;int i=0; for(;iN;ci=getchar(),i+);for(i=0;iN;i+)putchar(ci);printf(n);AaBaCabDabcdefbbcccdddef给出下列程序的运行结果: # include string.h #includestdio.hvoid main()charstr81,str181; intk=1,i=1,j;int fla

8、g=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);如运行时输入:abcbaccba若输入一个整数 10,以下程序的运行结果是 。#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(

9、a); a=a/2; ei=c; i+;for(;i0;i-) printf(“%d”,ei-1);以下程序的正确运行结果是 #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;iMAX;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);以下程序的正

10、确运行结果是#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);printf(“%dn”,p);阅读程序,说出程序的运行结果()。#include #defineADD(x)voidmain()int m=1,n=2,k=3;int sum=ADD(m+n)*k; printf(sum=%d,sum);以下程序的正确运行结果是 int fun(int x,int y ,i

11、nt *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);以下程序的正确运行结果是 #include void main() int a=2,3,4,5;int s, i, s=1;p=a;for(i=0;i=3;i+) s+=*p+; printf(s=%dn,s);以下程序的正确运行结果是#include void main()void move(int *); inta33=1,2,3,4,5,6,7,8,9,(*p)

12、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,*(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)

13、;*(pointer+3*j+i)=t;以下程序的正确运行结果是#include #include void main() char *p1,str120=xyz,str220; p1=abcd;p1+; strcat(str1+1,p1+1); strcpy(str2,str1); printf(%s,str2);#include struct abc int a, b, c; main() struct abc s2=1,2,3,4,5,6; intt;t=s0.a+s1.b;printf(%dn,t);1100.30.4斤以0.50.7斤以0.8元,从键盘输入西瓜的重量和顾客所付钱数,输

14、出应付款和应找钱数。 2+,-,*,/给定一个日期,输出这个日期是该年的第几天(YYYYMMDD,确保输入的数据有效。19910方对于 100 的余数等于该数本身。5编写一个程序,输出菱形图案,第一行为一n 2n-1 个相应的字母,以后每行字母个数递减。n 由键盘输入。604(如果有并列第一,则取消第二名,以此类推)编程求具有44(用常规算法做的时候,要求数据不能相同)ab,要求不用库函数strcatbabba(输出时如遇到大写字母则将其转换 为小写。以下程序的功能是应用下面的近似公式计enf1f2f1x(x(20e 1 xfloat f2(int n)float f1(int x,int n

15、)#includevoid 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(“nTheexp(%d)=%8.4fn”,x,exp);运行结果:Input a number:3 The is exp(3)=20.0855函数delaxn=del(a,n,x);其中实参nn从键盘输入一个整数(小于等于8位,将1991。要求输入和输出在主函数完成,功 能的实现在子函数

16、完成。 15有10个整数的数组行如下操作:从第n个元素开始到最后一个元n-1110) 16编写一程序,完成学生成绩的输入、查询、要求:用以存放学6编写一个函数 inputsc(int a),从键盘输入10个学生成绩;outputsc(inta,intn)n个学生成绩;query(inta,intn)n个学生成绩并输出结果;sort(inta10),10个学生成绩从高到低排序;insert(int a),再输入一个学生的成绩,将此成绩插入到原已排好序的学生成绩数组中;sort1(inta,intnchar style), nsort()style style 为a 按升序排,style 为d按降序排。输入若干个整数,编写两个函数分别实现:对它们按从大到小的顺序排列:sort(int*x

温馨提示

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

评论

0/150

提交评论