《C语言程序设计实验答案~.doc》由会员分享,可在线阅读,更多相关《C语言程序设计实验答案~.doc(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-_-前言-/*非常感谢度娘以及各位网上 C 语言高手的支持,才能让敝人完成此文档的整理。 本文档集合了本人、度娘、众网友的力量,其中代码的正确率约为 90%(不正确的有标注) 。 为回报度娘及众网友的帮助,本文档免费下载。 */ /*配“电子科技大学出版社(周信东主编) ”的 C 语言程序设计实验*/ /*努力吧,骚年以及学妹们!*/ /*整理 ed by 口玉刀一 of GUET.*/ = 实验一 C 语言程序初步 = 1.- 已知 a=5,b=4,c=6,求出 s 并换行 #include“stdio.h“ main() int a,b,c,s; a=5;b=4;c=6; s=(a+b+
2、c)/3; printf(“a=%d,b=%d,c=%dn,s=%d“,a,b,c,s); 2.- 输入一个数字求他的平方 #include main() int r,s; scanf(“%d“, s=r*r; printf(“s=%dn“,s); 3.- (1) #include main() printf(“ *n“); printf(“*n“); printf(“ *n“); (2) #include -_main() int v; int a,b,c; /a,b,c aer sides,v is volume of cube a=3;b=3;c=5; v=a*b*c; printf(“
3、v=%dn“,v); = 实验二 数据类型、运算符和表达式 = 1. (1)- /总觉得打印结果怪怪的,DO YOU THINK SO? main() char s1=3,s2=4,s3=5; int c1=101,c2=102; printf(“3%ct4%ct5%cn“,s1,s2,s3); /3%c 为输出 3 和%cprintf(“s1=%dts2=%dts3=%dn“,s1,s2,s3);/注意哦,s1,s2,s3 是 char!而%d:输入输出为整形 %ld 长整型 %hd 短整型 %hu 无符号整形 %u %lu%s:输入输出为字符串 %c 字符%f:输入输出为浮点型 %lf 双
4、精度浮点型printf(“c1=%dt%cn“,c1,c1); /换码符t,表示水平制表位(horizeontal tab),它的作用是将光标移到最接近 8 的 倍数的位置printf(“c2=%dt%cn“,c2,c2); /注意 c1,c2 的类型(2) /运行结果为 8.300000 %是求余数 先运算 x-y,把结果转换为 int 型的有利于四则运算 main() float x=8.3,y=4.2,s; int a=7; s=x+a%5*(int)(x-y)%2/3; printf(“s=%f“,s); -_(3) main() int i,j,p,q; i=3;j=6; p=i+;
5、 q=-j; printf(“%d,%d,%d,%dn“,i,j,p,q); p=i-+3; q=+j-4; printf(“%d,%d,%d,%d“,i,j,p,q); (4) main() int m=15,n=9,s; m*=3+2; printf(“%d“,m); n+=n-=n*=n; printf(“%d“,n); printf(“%dn“,(s=6*5,m+n+s); printf(“%dn“,s); 2.- (1)#include #define MM 40 main() int a=3,b=6,t; t=MM/(3+6); printf(“%d%d“,t,MM); /原来 p
6、rintf 语句打成了 print,printf 语句中少了一个%d.(2) #include -_main() int m; double x; scanf(“%d“, x=3.14*m*m; printf(“%f“,x); /注意分号,%f 转义(3) main() int m=8,n=5; printf(“%d“,m*=m-n); printf(“%d,%d,%d“,m=m+1,n-1,m+n); 3.- main() int a=9,b=5; a+=b; b=a-b; a-=b; printf(“%d%d“,a,b); 4.-/4.输入 a,b,c 三个变量,计算数学公式(a*b)/c
7、 main() int a,b,d; float s,c; scanf(“%d%d%f“, d=a*b; s=d/c; printf(“%f“,s); -_= 实验三 顺序结构和输入输出方法 =1.- (1)main() int m=345,t; float n=2.56; t=2.56*100; printf(“m=%d,n*100=%dn“,m,t); (2) main() int a,b,c,s,v; scanf(“%d%d%d“, s=a*b; v=a*b*c; printf(“%d,%d,%dn“,a,b,c); printf(“s=%d,v=%dn“,s,v); 2.- (1) m
8、ain() int m,n; float x=3.5,y=6.2; scanf(“%d,%d“, printf(“%6d,%6d“,m,n); /*每个数的输出宽度为 6,两个数之间逗号建个。*/ printf(“x=%7.2f,y=%7.2f“,x,y); /*个数的输出宽度 7,小数位 2*/ -_(2) main() int a,b; long m,n; float p,q; scanf(“a=%d,b=%dn%f,%f“, scanf(“%ld“, scanf(“%ld“, printf(“a=%d,b=%dn m=%ld,n=%ldn“,a,b,m,n); printf(“p=%f,
9、q=%fn“,p,q); /打印结果有误!3.- main() int i,j,k,ss,m=1,n=1; scanf(“%d%d“,m+=i+; n*=-j; ss=(k=m+2,n-5,k+n); printf(“%d“,ss); 4.- #include main() char c1,c2; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); printf(“c1=%c,c2=%c“,c1,c2); printf(“%d.%dn“,c1,c2); -_5.- #include main() int a=790,b,c; b=790/
10、60; c=790%60; printf(“%d 小时%d 分钟“,b,c); 6.- #include main() int a,b,c,d; scanf(“%d%d%d“, d=a; a=c; c=b; b=d; printf(“%d,%d,%dn“,a,b,c); 7.- #includemain() double a; scanf(“%lf“, printf(“%.2fn“,a); -_= 实验四 逻辑运算判断选取控制 =1.- 1. a. 错误原因分析:Switch 分号错误 switch(a*a+b*b) case 3: case 1:y=a+b;break; case 0:y=b
11、-a;break; b. 错误原因分析:switch 语句使用错误,后跟括号。Default 放在后 边。 switch (a) case 10:y=a-b;break; case 11:x=a*b;break; default:x=a+b; c. 错误原因分析:没有输出 语句。 switch(a+b) case 10:x=a+b;break; case 11:y=a- b;break; 2.- (1) main ( ) int x,y; scanf(“%d“, if (x-5 printf(“abs(a)=%d“,M); 4.- main() int c,t,m; printf(“input
12、 the number of coat and trousers your want buy:n“); scanf(“%d%d“, if(c=t) if(c=50) m=c*80; else m=c*90; else if(ct) if(t=50) m=t*80+(c-t)*60; else 90*t+(c-t)*60; else if(c=50) 80*t+(t-c)*45; else m=c*90+(t-c)*45; printf(“%d“,m); 5.- #include int main(void) int a, b, c; scanf(“%d%d%d“, if(a + b main(
13、) int c;-_while ( (c=getchar () ) !=n) if ( (c=A|c=a) ) c += 2; else if (c=y|c=Y|c=z|c=Z) c=c-24; printf(“%c“,c); putchar (n) ; 3.- #include int main() int m, k; for( m = 1; m main() int a,b,c;printf(“ * 1 2 3 4 5 6 7 8 9n“); printf(“ -n“);for(a=1;a main() double e=2,w=0.000001,t; double n=1,s=1; t=
14、1/w; while(svoid main() int i,j,k=0,r,s=0,t=1000,a=0; for(i=2;i main() int grade6; int i,mumber; for(i=1;i main() int i,a100=90,180,270,380,590,530,140,750,380,b6;for(i=0;i main() int i,j,t,p,q,s,n,a11=6,3,42,23,35,71,98,67,56,38; for(i=0;iaj)t=ai;ai=aj;aj=t; printf(“%d “,ai); -_ printf(“ninput numb
15、er:n“); scanf(“%d“, for(i=0;i=i;j-)aj+1=aj;break;ai=n;for(i=0;i int main() char a100, b100; int i=0, j=0, n=0; gets(a); gets(b); while(aj!=0) while(aj+i=bi) if(bi=0) n+; i=0; j+; printf(“%d“, n); =-_实验七 字符处理 =1.- 该程序的功能是:输入字符串,删除其中的数字,保留剩下的字符。 #include main() char a40,b40; int i,j; printf(“ Enter th
16、e string: “) ; scanf(“%s“,a) ; i=j=0; while (ai!=0) if (! (ai=0 if(sj=a)sj+=3; else if(sj=x|sj=y|sj=z) sj-=23; printf(“译码后结果:“); for(i=0;si!=;i+)-_printf(“%c“,si); printf(“n“); getchar(); 6.- #include “stdio.h“ main() int i=0; char str1255,str2255; printf(“n Input string 1:“); scanf(“%s“,str1); prin
17、tf(“n Input string 2:“); scanf(“%s“,str2);while(1) if(str1i=str2i) i+; continue; else break; printf(“n%dn“,str1i-str2i); = 实验八 函数 = 8.1?未成功 int a=3,b=5; max(int a,int b) int c;-_c=ab?a:b; return (c); main() extern int a,b; printf(“%dn“,max(a,b); 8.2 #include int is_prime(int m) int i; if(m=1) return
18、 0; for(i=2;i int main() -_int m,n,i,sum=1,t; printf(“请输入 m 的值:n“); scanf(“%d“, printf(“请输入 n 的值:n“); scanf(“%d“, if(m=m-n+1;i-) sum*=i; for(i=1;ivoid main( ) int j, k, a12, *p;p = a;for (j = 0; j void main() void swap(int*p1,int*p2); int n1,n2,n3; int*p1,*p2,*p3; printf(“input three interer n1,n2,n
19、3:“);-_scanf(“%d%d%d“, p1= p2= p3= if(n1n2)swap(p1,p2); if(n1n3)swap(p1,p3); if(n2n3)swap(p2,p3); printf(“Now,the order is :%d,%d,%dn“,n1,n2,n3); void swap(int *p1,int *p2) int p; p=*p1;*p1=*p2;*p2=p; 3. main() int a10; int *p,i; p=a; for(i=0;i int table10; void lookup(int *t,int *a,int n) int k;-_*a=t0; for(k=1;ktk) *a=tk; void main() int k,min,*p= for(k=0;k void main() int a55=0,*p5,i,j; for(i=0;i void main() int a55=0,*p5,i,j;-_for(i=0;i5;i+)pi= for(i=0;i5;i+) *(pi+i)=1; *(pi+5-(i+1)=1; for(i=0;i5;i+) for(j=0;j5;j+) printf(“%2d“,pij); putchar(n);
限制150内