1、实验三 C 基本数据类型及运算1. 编程:根据需要定义相关变量,键盘输入 10.0、20.6、5.0 三个实数分别赋给相关三个变量,输出该3 个变量的和 s、乘积 p 和平均值 a。2. 编程:输入球的半径,计算球体表面积和球体积。3. 编程:定义 6 个变量,通过键盘将“10, 10, 40000, a, 3.14, hello”这六个值分别赋给相应变量,然后在屏幕上输出变量的值(每行输出一个变量)。4. 编程:从键盘接收 1 个字符给变量 s1,1 个字符串(允许带有空格)给字符数组 s2,输出字符变量 s1 的 ASCII 码值及字符数组 s2 中的字符串。5. 编程:从键盘输入二个整数
2、分别赋给整型变量 a、b,将它们按由小到大的顺序输出。6. 编程:调用标准库函数 sin(x)计算 6800 的正弦值(此题为选做)。7. 编程:键盘输入一个实数赋给变量 x,计算 y=x*x*x+x*x+x 的值,分别输出 y 值、y 值的整数部分和小数部分(此题为选做)。8. 编程:键盘输入四个整数分别赋给整型变量 a、b、c、d,用三目运算方法将它们按由大到小的顺序输出(此题为选做)。1. #includemain()float x,y,z,s,p,a;scanf(“x=%fy=%fz=%f“,s=x+y+z;p=x*y*z;a=s/3;printf(“s=%f,p=%f,a=%f“,s
3、,p,a);2. #includemain()float r,s,v;printf(“input r“);scanf(“%f“,s=4*3.14*r*r;v=4/3*3.14*r*r*r;printf(“s=%f,v=%f“,s,v);3. #includemain()int a,b;long c;char d,st6;float e;scanf(“%d%d%ld%c%f%s“,printf(“a=%dn,b=%dn,c=%dn,d=%cn,e=%fn,ch=%s“,a,b,c,d,e,st);4. #includemain() char s1,s26;scanf(“%c%s“,printf(
4、“s1=%d,s2=%s“,s1,s2);5. #includemain() int a,b;scanf(“a=%db=%d“,if (a#includemain()float a,b;scanf(“%f“,b=sin(a);printf(“%f“,b);7. #includemain()float x,y,b;int a;scanf(“%f“,y=x*x*x+x*x+x;a=(int)y;b=y-a;printf(“%fn%dn%fn“,y,a,b);实验四 C 分支结构程序设计1. 编程:从键盘输入一个字符,如是大写字母,则输出相应小写字母;如是小写字母,则原样输出;其它字符输出“Not
5、letter!”。2. 编程:判断输入的正整数是否既是 3 又是 5 的整数倍。若是,输出 Yes,否则输出 No。3. 编程:从键盘输入三个整数,分别赋给变量 a,b,c,输出其中的最大值(要求不改变 a、b、c的值)。4. 编程:用 scanf 输入任意两个数分别赋给变量 a、b,若 a 大于等于 b,则直接输出 a、b,否则将 a、b 的值交换(即 a 的原值放入 b 中,b 的原值放入 a 中)后再输出。5. 编程:输入整数 a 和 b,若 a2+ b2大于 100,则输出 a2+ b2百位以上的数字,否则输出两数之和。6. 编程:从键盘输入三个整数,分别赋给变量 a,b,c,请按从小
6、到大的顺序依次输出a、b、c(要求不改变 a、b、c 的值)。7. 编程:从键盘输入三个整数,分别赋给变量 a,b,c,请按从小到大的顺序依次将这三个数存放于 a、b、c 中,最后输出 a、b、c。8. 编程:由系统生成一个 10 以内的随机整数,用户从键盘上输入一个 10 以内的整数,如果两者相等输出“OK”,否则输出“ERROR”。注:随机数的生成必须包含头文件#include 、#include ,必须用初始化语句srand(unsigned)time(NULL);,表达式 rand()%a+1 的值为 1a 内的随机整数1. #includemain()char x;scanf(“%c
7、“,if(x=ascanf(“%d“,if (x0) if(x%3=0else printf(“Non“);else printf(“Error!“);3. #includemain()int a,b,c,max;scanf(“%d%d%d“,max=ab?a:b;max=maxc?max:c;printf(“a=%d,b=%d,c=%d,max=%d“,a,b,c,max);4. #includemain()float a,b;scanf(“%f%f“,if(amain()int a,b,t,r,s;scanf(“%d%d“,s=a+b;r=a*a+b*b;t=r/100;if(r100)p
8、rintf(“%d“,t);else printf(“%d“,s);6.#includeint main()int a,b,c,d,max,min;scanf(“%d%d%d“,if(a=b)max=a;min=b; else max=b;min=a;if(c=max)max=c;if(cmain() int a, b, c, d;scanf(“%d%d%d“, if(a=b)d = a;a = b;b = d; else if(b=c) d = b;b = c;c = d; printf(“a=%d b=%d c=%d“,a,b,c);8.#include#include#includema
9、in()int a,b;srand(unsigned)time(NULL);b=rand()%10+1;scanf(“%d“,printf(“a=%d,随机数 b=%dn“,a,b);if(a=b)printf(“OK!n“);else printf(“ERROR!n“);实验五 C 多分支结构程序设计 *1. 编程:计算奖学金 ss 的值,已知奖学金 ss 与成绩 s 的关系为:具体要求: (1)用 if 语句实现分支结构的编程。(2)s 为整型,ss 要求精确到小数点后二位。(3)用 scanf 函数给 s 赋值,且输入前有相应提示。(4)结果输出时采用以下形式:成绩 s具体值,奖学金 s
10、s=具体值2. 设函数 f(x)如下,求函数函数法 f(x)的值。具体要求: (1)用条件表达式编程。(2)用 if 语句编程。(3)用 scanf 函数给自变量赋值,且输入前有相应提示。(4)结果输出时采用以下形式:x具体值,f(x)=具体值(5)给出你所使用的测试用例。提示:按 C 的语法规则,标识符由字母、数字、下划线组成,不能将 f(x)作为变量名,本题中,函数名可起为 f 或 y 等。但作为非格式控制字符,f(x)完全可以出现在 printf 函数的双引号内。3. 编程:输入一个整数,判断它能否被 3,5,7 整除,并输出以下信息之一:(1)能同时被 3,5,7 整除。(2)能被其中
11、两数整除(指出是哪两个数)。(3)能被其中一个数(指出是哪一个数)整除。(4)不能被 3,5,7 任一个数整除。4. 编程:用 switch 语句编写一个简单的计算器程序,输入格式为:data1 op data2。其中 data1和 data2 为参加运算的两个数;op 为运算符,取值只能是+、-、*、/。5. 编程:计算你的出生日期是星期几。(1)通过键盘输入你出生那一年的元旦是星期几(2)通过键盘输入你的出生日期(3)输出结果1.#includemain()int s; float ss;printf(“Please input sn“);scanf(“%d“,if(s100)printf
12、(“ERROR!n“);else if(s=0int f;printf(“Please input xn“);scanf(“%f“,if(x=0)f=0;else f=(x0)?1:-1;printf(“x=%f,f(x)=%dn“,x,f);3.#includemain()int x,a,b,c;printf(“请输入一个整数 x“);scanf(“%d“,a=x%3;b=x%5;c=x%7;if(a=0else if(a=0 else if(a=0 else if(b=0 else if(a=0) printf(“%d能被 3整除n“,x);else if(b=0) printf(“%d能
13、被 5整除n“,x);else if(c=0) printf(“%d能被 7整除n“,x);else printf(“%d不能被 3,5,7任意一个数整除n“,x);4.#include main()char op;float d1,d2;printf(“请输入算式“);scanf(“%f%c%f“,switch(op)case +: printf(“%g+%g=%gn“,d1,d2,d1+d2);break;case -: printf(“%g-%g=%gn“,d1,d2,d1-d2);break;case *: printf(“%g*%g=%gn“,d1,d2,d1*d2);break;c
14、ase /: printf(“%g/%g=%gn“,d1,d2,d1/d2);break;5.#includemain()int x,m,d;printf(“请输入你出生那年元旦的星期(1 至 7):n“);printf(“请输入你的出生日期 (mm/dd) : n“);scanf(“%d,%d,%d“,switch (m*30+d)/7)case 0:printf(“你出生那天为星期%d“,x);break;case 1:printf(“你出生那天为星期%d“,x+1);break;case 2:printf(“你出生那天为星期%d“,x+2);break;case 3:printf(“你出
15、生那天为星期%d“,x+3);break;case 4:printf(“你出生那天为星期%d“,x+4);break;case 5:printf(“你出生那天为星期%d“,x+5);break;case 6:printf(“你出生那天为星期%d“,x+6);break;实验六 C 循环结构程序设计1. 编程:输出 200 以内所有能被 7 整除的数。2. 编程:求出 1 1000 之间能被 13 整除的最大的那个数。3. 编程:找出若干个非零数中的最小值 m 以及它们的平均值 a。要求:若干个数由键盘输入,每次输入一个赋给变量 x,x 为零时,结束输入。4. 编程:求两个正整数 m、n 之间所
16、有奇数之和 x 与偶数之和 y。要求: (1)m、n 的值由键盘输入。(2)输入时,允许用户随意先输入大的或小的整数。5. 编程:计算函数 y 的值。要求键盘接收自变量 x 的值,若 x 的值不为零,计算函数 y 的值并输出,再从键盘接收下一个 x 的值,直到 x 的值为零,显示“Thank You,Bye!”,尔后结束程序,已知函数 y 与自变量 x 的关系为:6. 编程:计算 的近似值, 的计算公式为:要求: (1)n 值由键盘输入。(2)分别输出当 n 为 10、100、1000 时的计算结果。(3)输出时要求每行显示一组 n、 的值,每行形式如下:n具体值, = 具体值7. 我国现有人
17、口 13 亿,设年增长率为 1%,编写程序,计算多少年后增加到 20 亿。8. 求解爱因斯坦数学题。有一条长阶梯,若每步跨 2 阶,则最后剩余 1 阶;若每步跨 3 阶,则最后剩 2 阶;若每步跨 5 阶,则最后剩 4 阶;若每步跨 6 阶,则最后剩 5 阶;若每步跨 7 阶,最后才正好一阶不剩。请问,这条阶梯最少共有多少阶?9. 每个苹果 0.8 元,第一天买 2 个苹果,第二天开始,每天买前一天的 2 倍,直至购买的苹果个数达到不超过 100 的最大值。编程:求每天平均花多少钱?(此题为选做) 1.#includemain()int i;for(i=1;imain()int i,max=0
18、;for(i=0;imain()int i;float x,m,s,a;scanf(“%f“,if(x!=0) m=x;s=x;for(i=1;i+)scanf(“%f“,if(x=0) break;s=s+x;if(mx)m=x;a=s/i;printf(“最小值 m=%f,平均值 a=%f“,m,a);4.#include void main()int i,m,n,t,x=0,y=0;scanf(“%d%d“,if(mn)t=m;m=n;n=t;for(i=m;imain()float x,y;printf(“input x:“);scanf(“%f“,for (;x=0;)if(x0printf(“%f“,y);elseprintf(“thank you bey !“);break;scanf(“%f“,6.#includemain()int n,i;double t,sum;printf(“请输入 n的值n“);scanf(“%d“,sum=2;i=1;t=2;