C语言程序设计实验 答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
-媒介-
/*异常感激度娘以及列位网上C说话高手的支撑,才干让敝人完成此文档的整顿.
本文档聚集了本身.度娘.众网友的力气,个中代码的准确率约为90%(不准确的有标注).
为回报度娘及众网友的帮忙,本文档免费下载.
*/
/*配“电子科技大学出版社(周信东主编)”的C说话程序设计试验*/
/*尽力吧,骚年以及学妹们!*/
/*整顿ed by 口玉刀一 of GUET.*/
=====================
试验一 C说话程序初步
=====================
已知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+c)/3;
printf("a=%d,b=%d,c=%d\n,s=%d",a,b,c,s);
}
输入一个数字求他的平方
#include<stdio.h>
main()
{
int r,s;
scanf("%d",&r);
s=r*r;
printf("s=%d\n",s);
}
(1)
#include<stdio.h>
main()
{
printf(" *\n");
printf("***\n");
printf(" *\n");
}
(2)
#include<stdio.h>
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("v=%d\n",v);
}
=================================
试验二数据类型.运算符和表达式
=================================
(1)--------------------------------------------------
//总认为打印成果怪怪的,DO YOU THINK SO?
main()
{
char s1='3',s2='4',s3='5';
int c1=101,c2=102;
printf("3%c\t4%c\t5%c\n",s1,s2,s3); //3%c为输出3和%c
printf("s1=%d\ts2=%d\ts3=%d\n",s1,s2,s3);//留意哦,s1,s2,s3是char!而%d:输入输出为整形 %ld 长整型 %hd短整型 %hu无符号整形 %u %lu%s:输入输出为字符串 %c字符%f:输入输出为浮点型 %lf双精度浮点型
printf("c1=%d\t~%c\n",c1,c1); //换码符'\t',暗示程度制表位(horizeontal tab),它的感化是将光标移到最接近8的倍数的地位
printf("c2=%d\t~%c\n",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++;
q=--j;
printf("%d,%d,%d,%d\n",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("%d\n",(s=6*5,m+n+s));
printf("%d\n",s);
}
(1)#include<stdio.h>
#define MM 40
main()
{
int a=3,b=6,t;
t=MM/(3+6);
printf("%d%d",t,MM);
}
//本来printf语句打成了print,printf语句中少了一个%d.(2)
#include<stdio.h>
main()
{
int m;
double x;
scanf("%d",&m);
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
main()
{
int a,b,d;
float s,c;
scanf("%d%d%f",&a,&b,&c);
d=a*b;
s=d/c;
printf("%f",s);
}
=================================
试验三次序构造和输入输出办法
=================================
(1)main()
{
int m=345,t;
float n=2.56;
t=2.56*100;
printf("m=%d,n*100=%d\n",m,t);
}
(2)
main()
{
int a,b,c,s,v;
scanf("%d%d%d",&a,&b,&c);
s=a*b;
v=a*b*c;
printf("%d,%d,%d\n",a,b,c);
printf("s=%d,v=%d\n",s,v);
}
(1)
main()
{
int m,n;
float x=3.5,y=6.2;
scanf("%d,%d",&m,&n);
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=%d\n%f,%f",&a,&b,&p,&q);
scanf("%ld",&m);
scanf("%ld",&n);
printf("a=%d,b=%d\n m=%ld,n=%ld\n",a,b,m,n);
printf("p=%f,q=%f\n",p,q);
}
//打印成果有误!!
main()
{
int i,j,k,ss,m=1,n=1;
scanf("%d%d",&i,&j);
m+=i++;
n*=--j;
ss=(k=m+2,n-5,k+n);
printf("%d",ss);
}
#include<stdio.h>
main()
{
char c1,c2;
c1=getchar();
c2=getchar();
putchar(c1);
putchar(c2);
printf("c1=%c,c2=%c",c1,c2);
printf("%d.%d\n",c1,c2);
}
5.---------------------------------------------------
#include<stdio.h>
main()
{
int a=790,b,c;
b=790/60;
c=790%60;
printf("%d小时%d分钟",b,c);
}
6.---------------------------------------------------
#include<stdio.h>
main()
{
int a,b,c,d;
scanf("%d%d%d",&a,&b,&c);
d=a;
a=c;
c=b;
b=d;
printf("%d,%d,%d\n",a,b,c);
}
7.--------------------------------------------------
#include<stdio.h>
main()
{
double a;
scanf("%lf",&a);
printf("%.2f\n",a);
}
=================================
试验四逻辑运算断定拔取掌握
=================================
1. a. 错误原因剖析:Switch分号错误
switch(a*a+b*b) { case 3: case 1:y=a+b;break; case 0:y=b-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; }
(1)
main ( )
{
int x,y;
scanf("%d",&x );
if (x>-5&&x<0) y=x ;
if (x==0) y=x-1 ;
if(x>0&&x<10) y=x+1;
printf ("%d",y);
}
(2)
main()
{
int x,y;
scanf("%d",&x);
if((x>-5)&&(x<0)) y=x;
else if (x==0) y=x-1;
else if(x>0&&x<10) y=x+1;
printf("%d",y);
}
main ( )
{
int a,M;
scanf("%d",&a);
M=a>0?a:-a;
printf("abs(a)=%d",M);
}
main()
{
int c,t,m;
printf("input the number of coat and trousers your want buy:\n"); scanf("%d%d",&c,&t);
if(c==t) if(c>=50) m=c*80; else m=c*90; else if(c>t)
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<stdio.h>
int
main(void)
{
int a, b, c;
scanf("%d%d%d",&a,&b,&c);
if(a + b <= c || a + c <= b || b + c <= a)
printf("不组成三角形\n");
else if (a == b && b == c)
printf("等边三角形\n");
else if (a == b || b == c || a == c)
printf("等腰三角形\n");
else
printf("不等边三角形\n");
return 0;
}
6.--------------------------------------------------#include"stdio.h"
main()
{
long a;
scanf("%ld",&a);
if(a%5==0)
if(a%7==0)
printf("yes\n|");
else printf("no\n");
}
=================================
试验五轮回构造
=================================
1.---------------------------------------------------#include"stdio.h"
main()
{ int n;
while(1)
{ printf("Enter a number:");
scanf("%d",&n);
if(n%2==1)
{ printf("I said");
continue;
}
break;
}
printf("Thanks.Ineeded that!");
}
2.----------------------------------------------------#include <stdio.h>
main()
{
int c;
while ( (c=getchar () ) !='\n')
{
if ( (c<='X'&&c>='A'||c<='x'&&c>='a') )
c += 2;
else if (c=='y'||c=='Y'||c=='z'||c=='Z')
c=c-24;
printf("%c",c);
}
putchar ('\n') ;
}
3.----------------------------------------------------#include<stdio.h>
int main()
{
int m, k;
for( m = 1; m <= 4; m ++)
{
if ( m == 1 || m == 4 )
{
for( k = 1; k <= 6; k++)
printf("*");
printf("\n");
}
else
printf("* *\n");
}
return 0;
}
#include<stdio.h>
main()
{ int a,b,c;
printf(" * 1 2 3 4 5 6 7 8 9\n");
printf(" -----------------------------\n");
for(a=1;a<=9;a++)
{printf("%3d",a);
for(b=1;b<=a;b++)
{c=a*b;
printf("%3d",c);}
printf("\n");}
}
5.--------------------------------------------------
#include<stdio.h>
main()
{
double e=2,w=0.000001,t;
double n=1,s=1;
t=1/w;
while(s<t)
{
s=s*(n+1);
e=e+1/s;
n++;
}
printf("e=%lf,n=%d\n",e,(int)(n-1));
}
6.--------------------------------------------------------#include <stdio.h>
void main()
{ int i,j,k=0,r,s=0,t=1000,a=0;
for(i=2;i<=t;i++)
{ a=0; r=0;
{ for(j=1;j<i;j++)
{ k=0; if(i%j==0)
{ k=j; } r+=k; }
if(r==i) a=r; }
if(a!=0)
{
if(a==6)
printf("%d",a);
else
printf("+%d",a);
}
s+=a;
}
printf("=%d\n",s);
}
=================================
试验六数组
=================================
#include<stdio.h>
main()
{
int grade[6];
int i,mumber;
for(i=1;i<=5;++i)
grade[i]=0;
printf("enter your number\n");
for(i=1;i<=20;++i)
{
scanf("%d",&mumber);
if(!mumber) break;
++grade[mumber];
}
printf("\n\nresult of search\n");
printf("---------------\n");
for(i=1;i<=5;++i)
printf("%4d %d\n",i,grade[i]);
}
#include"stdio.h"
main()
{
int n,k,xx[20];
int i,j,t;
printf("\nPlease enter a number");
scanf("%d",&n);
printf("\nPlease enter %d numbers:",n);
for(i=0;i<n;i++) scanf("%d",&xx[i]);
printf("%\nPlease enter another number:"); scanf("%d",&k);
for(i=0;i<k;i++)
{
t=xx[0];
for(j=1;j<n;j++)
xx[j-1]=xx[j];
xx[n-1]=t;
}
printf("\nAfter moving:\n");
for(i=0;i<n;i++) printf("%3d",xx[i]);
printf("\n");
}。