当前位置:文档之家› C语言实验参考答案11

C语言实验参考答案11

C语言实验参考答案实验一5、输入并运行自已编写的程序(教材第一章P14 三编程题)。

实验二1、编写一个程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。

#include <stdio.h>main(){float x,y,z,s,t,a;printf(“x,y,z=”);scanf(“%f,%f,%f”,&x,&y,&z);s=x+y+z;t=x*y*z;a=s/3;printf(“s=%f,t=%f,a=%f\n”,s,t,a);}2、编程。

要求用户输入两个整数a、b(分别为20、10),读取用户从键盘输入的值,然后:1)用整数输出这两个数的和、差;2)用长整型输出这两个数的积,用float输出商;3)用整数输出这两个数的余数,用float输出平均值。

#include <stdio.h>{int a,b,he,cha,yu;long ji;float shang,aver;printf(“a,b=”);scanf(“%d,%d”,&a,&b);he=a+b;cha=a-b;ji=(long)a*b;shang=1.0*a/b;yu=a%b;aver=(a+b)/2.0;printf(“a+b=%d,a-b=%d,a*b=%ld\n”,he,cha,ji);printf(“a/b=%f,a%%b=%d,aver=%f\n”,shang,yu,aver);}3. 再次运行程序第2题中的程序,使整数a、b的值分别为10、20,分析程序运行结果,并给出说明。

程序同上。

实验三1、编写一个程序,从键盘接收一个一位的整型数,经转换,用字符函数putchar输出。

例如,输入整数5,程序运行后输出字符5。

#include <stdio.h>{int a;char c;printf(“a=”);scanf(“%d ”,&a);c=a+48;putchar(c);}2、编程。

输入半径,计算球体表面积(24r S ⋅=π)和球体积 (334r V ⋅=π)。

#include <stdio.h>#define PI 3.1415926main(){float r,s,v;printf(“r=”);scanf(“%f ”,&r);s=4*PI*r*r;v=4/3.0*PI*r*r*r;printf(“s=%f,v=%f\n ”,s,v);}3、编写一个程序,要求通过键盘给6个变量赋值,然后将变量的值在屏幕上打印输出。

这六个变量的值分别为:10,-10,40000,a,3.14,hello。

#include <stdio.h>main(){int a,b;long c;char d,ch[6];float e;scanf(“%d%d%ld%c%f%s”,&a,&b,&c,&d,&e,ch);printf(“%d,%d,%ld,%c,%f,%s\n”,a,b,c,d,e,ch);}实验四1. 编程实现:键盘输入三个整数,分别存放到变量a,b,c中,输出其中的最小值(要求不改变a、b、c的值)。

#include <stdio.h>main(){int a,b,c,min;printf("请输入三个整数a,b,c=");scanf ("%d,%d,%d",&a,&b,&c);min=a>b?(b>c?c:b):(a>c?c:a);printf("min=%d\n",min);}2. 编程实现:键盘输入一个字符,如是大写字母,则输出相应小写字母;如是小写字母,则输出相应大写字母;其它字符原样输出。

#include <stdio.h>main(){char c;printf("请输入一个字符:");scanf ("%c",&c);if(c>='a'&&c<='z')c=c-32;else if(c>='A'&&c<='Z')c=c+32;printf("%c\n",c);}3、计算以下分段函数值#include <stdio.h>main(){double x,y;printf("请输入一个实数:");scanf ("%lf",&x);if(x<0&&x!=-3)y=x*x+x-6;else if(x>=0&&x<10&&x!=2&&x!=3)y=x*x-5*x+6;else y=x*x-x-1;printf("x=%f,f(x)=%f\n",x,y);}4. 编写程序,键盘接收一个字符串(只含大、小写英文字母),将该字符串加密后输出。

加密规则为:若为小写字母则不变,若为大写字母则将其转换为小写后再后移一个字母,例如“A”应转换为“b”,“B”应转换为“c”,“Y”应转换为“z”,而“Z”应转换为“a”。

#include <stdio.h>main(){char c[20];int i;printf("请输入一个字符串(只含英文字母):");gets (c);for(i=0;c[i]!=‟\0‟;i++)if(c[i]>= …A‟&&c[i]<= …Y‟)c[i]=c[i]+33;else if(c[i]==‟Z‟)c[i]=…a‟;puts(c);putchar(…\n‟);}5. 编写程序,用scanf输入任意两个数给变量a、b,若a大于等于b,则直接输出a、b,否则将a、b的值交换(即a的原值放入b 中,b的原值放入a中)后再输出。

#include <stdio.h>main(){float a,b,t;printf("请输入两个数:");scanf ("%f,%f",&a,&b);if(a<b){t=a;a=b;b=t;}printf ("a=%f,b=%f",a,b);}6. 编写程序:由系统生成一个10以内的随机整数,用户从键盘上输入一个10以内的整数,如果两者相等输出“OK”,否则输出“ERROR”。

#include <stdio.h>#include <stdlib.h>#include <time.h>main(){int a,b;srand( (unsigned)time(NULL));b=rand()%10+1;printf("请输入一个10以内的整数:");scanf("%d",&a);printf("a=%d,随机数b=%d\n",a,b);if(a==b) printf("OK!\n");else printf("ERROR!\n");}7. 编写程序要求输入整数a和b,若a2+ b2大于100,则输出a2+ b2百位以上的数字,否则输出两数之和。

(此题为选做)#include <stdio.h>main(){int a,b,t;printf("请输入两个整数a,b=");scanf ("%d,%d",&a,&b);t= a*a+b*b;if(t<=100)printf("a*a+b*b =%d",t);else{t=t/100;printf ("a*a+b*b百位以上的数字是%d\n",t);}}实验五1. 编程,计算函数y的值,已知函数y与自变量x的关系为:#include <stdio.h>main(){float x,y;printf(“请输入一个非负数x=”);scanf(“%f”,&x);if(x>=0&&x<100)y=3*x+10;else if(x>=100)y=x*x*x-20;if(x>=0)printf(“y=%f\n”,y);else printf(“输入错误!\n”);}2. 编写一个简单的计算器程序,输入格式为:data1 op data2。

其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。

#include <stdio.h>main(){char op;float d1,d2;printf("请输入算式(如3+5):");scanf("%f%c%f",&d1,&op,&d2);switch(op){case '+': printf("%g+%g=%g\n",d1,d2,d1+d2);break;case '-': printf("%g-%g=%g\n",d1,d2,d1-d2);break;case '*': printf("%g×%g=%g\n",d1,d2,d1*d2);break;case '/': printf("%g÷%g=%g\n",d1,d2,d1/d2);break;}}2. 编程实现:输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一:①能同时被3,5,7整除②能被其中两数(要指出是哪两个数)整除③能被其中一个数(要指出是哪一个数)整除④不能被3,5,7任一个数整除#include <stdio.h>main(){int n;printf("请输入一个整数n=");scanf("%d",&n);if(n%3==0&&n%5==0&&n%7==0)printf("%d能被3,5,7整除\n",n);else if(n%3==0&&n%5==0)printf("%d能被3,5整除\n",n);else if(n%3==0&&n%7==0)printf("%d能被3,7整除\n",n);else if(n%5==0&&n%7==0)printf("%d能被5,7整除\n",n);else if(n%3==0)printf("%d能被3整除\n",n);else if(n%5==0)printf("%d能被5整除\n",n);else if(n%7==0)printf("%d能被7整除\n",n);else printf("%d不能被3,5,7任一个整除\n",n);}4. 已知从2008年12月开始,银行整存整取存款不同期限的年利率分别为:三个月1.71%,半年1.98%,一年2.25%,两年2.79%,三年3.33%,五年3.60%。

相关主题