C 实验答案
c程序设计实验参考答案

main( )
{ float a,b,c;
float s,v;
scanf("%f,%f,%f,%f",&a,&b,&c);
s=a+b+c;
v=s/3.0;
printf("\n%7.1f,%7.1f",s,v);
}
实验五参考答案
一.1、a=10,b=30,c=10
}
2、main()
{int i;
double m=100000,n,s;
n=0.01;
s=0;
for(i=1;i<=30;i++)
{s+=n;
n=n*2;
}
printf("%f %f\n",s,m*30 );
}
实验八参考答案:
一.1、s=12345
2、7,
5,
3,
3、<1,2>=6
二.1、% for(j=k;j>0;j--)
第4行改为scanf("%d",&a[i]);
第12行改为printf("av=%d\n",av);
四.1、分析:C中数组长度必须是确定大小,即指定N的值。排序的方法有多种,取出其中两种作为参考。
方法一:起泡排序
从第一个数开始依次对相邻两数进行比较,如次序对则不做任何操作;如次序不对则使这两个数交换位置。第一遍的(N-1)次比
{ case 10:
case 9: ch='A'; break;
case 8: ch='B'; break;
C实验报告答案

2.1 C程序设计初步一、实验目的(1) 熟悉C语言程序的运行环境(VC++ 6.0)。
(2) 掌握C语言程序的上机步骤,了解运行C程序的方法。
(3) 掌握C语言程序的书写格式和C语言程序的结构。
二、实验内容(均要求给出运行结果)1.程序改错题(1) 以下程序实现计算x×y的值并将结果输出。
请改正程序中的错误。
#include "stdio.h"void main()/**********FOUND**********/{ int x=y=4;z=x*y;/**********FOUND**********/printf("z=%d/n", Z);}答案:=======(答案1)=======int x=,4,y=4,z;=======(答案2)=======printf("z=%d\n", z);(2) 以下程序实现输入圆的半径,求圆的周长。
请改正程序中的错误。
#include "stdio.h"void main(){ int r;float l;printf("Enter r:");scanf("%d", &r);/**********FOUND**********/l=2πr/**********FOUND**********/printf("l=%d\n",l);}答案:=======(答案1)=======l=2*3.14*r;=======(答案2)=======printf("l=%f\n", l);2.程序填空题(1) 下面程序能对两个整型变量的值进行交换,请填空。
#include "stdio.h"void main(){ int a=3,b=4,t;t=a;/***********SPACE***********/【?】;/***********SPACE***********/【?】;printf("a=%d,b=%d\n",a,b);}答案:=======(答案1)=======a=b=======(答案2)=======b=t(2) 下面程序不用第三个变量,实现两个数的对调操作。
C语言实验册完整答案

实验2答案五.程序改错#include<stdi o.h>int main(void){int x=3,y;y = x*x;printf("%d = %d * %d\n",y,x,x); /* 输出*/printf("%d * %d = %d\n",x,x,y);return 0;}六、一般编程题6.1#include<stdio.h>int main(void){int x,y;printf("Input x: ");scanf("%d",&x);printf("Input y: ");scanf("%d",&y);printf("%d + %d = %d\n",x,y,x+y);printf("%d - %d = %d\n",x,y,x-y);printf("%d * %d = %d\n",x,y,x*y);printf("%d / %d = %d\n",x,y,x/y);printf("%d %% %d = %d\n",x,y,x%y);return 0;}6.2#include<stdio.h>int main(void){ float x; double y;printf("Input x: ");scanf("%f",&x);printf("Input y: ");scanf("%lf",&y);printf("%f + %f = %f\n",x,y,x+y);printf("%f - %f = %f\n",x,y,x-y);printf("%f * %f = %f\n",x,y,x*y);printf("%f / %f = %f\n",x,y,x/y);return 0;}6.3#include<stdio.h>int main(void){ char c;printf("Input c: ");scanf("%c",&c);printf("%c\n",c+32);return 0;}6.4#include<stdio.h>int main(void){int celsius,fahr;fahr = 150;celsius = 5*fahr/9 - 5*32/9;printf("fahr = %d, celsius = %d\n", fahr, celsius);return 0;} 如果使用公式9)32(5-⨯=f c 计算结果不一样,celsius = 65。
C语言实验答案

C语言实验参考答案实验二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>main(){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>main(){int a;char c;printf(“a=”);scanf(“%d”,&a);c=a+48;putchar(c);}2、编程。
C语言实验题及参考答案

实验一1、计算整数各位数字之和(10 分)输入一个3 位正整数,将其每一位的数字相加,输出和输入格式:输入一个3 位正整数。
变量数据类型为unsigned 。
输出格式:输出整数每一位相加后的整数和。
输入样例:输出样例:【参考答案】#include "" int main(){ unsigned int a,ge,shi,bai,sum;scanf("%d",&a);ge=a%10;shi=a/10%10;bai=a/100;sum=ge+shi+bai;printf("%d\n",sum);return 0;}2、计算代数表达式(10 分)求:输入格式:输入角度x。
变量数据类型为double 。
π 为。
输出格式:输出y 的值,精确到小数点后2 位。
输入样例:输出样例:【参考答案】#include <>#include <>#define PIint main(){double x,y;scanf("%lf",&x); y=sqrt((sin(60*PI/180)+1)*(sin(30*PI/180)+1)/cos(x*PI/180));printf("%.2lf",y);return 0;}3、逆序的三位数 (10 分)程序每次读入一个正3 位数,然后输出按位逆序的数字。
有结尾的0 时,输出不应带有前导的0。
比如输入700,输入格式:每个测试是一个3 位的正整数。
输出格式:输出按位逆序的数。
输入样例:输出样例:注意:当输入的数字含输出应该是7。
【参考答案】#include ""int main(){ int a,ge,shi,bai,b;scanf("%d",&a);ge=a%10;shi=a/10%10;bai=a/100;b=ge*100+10*shi+bai;printf("%d\n",b);return 0;}4、求整数均值 (10 分)本题要求编写程序,计算4 个整数的和与平均值。
C语言实验答案(2-6)

x=10,y=10,z=10 x=8,y=10,z=16 c1=M,c2=4d,c3=115,c4=77 c1=M,c2=M,c3=M,c4=M c1=77,c2=77,c3=77,c4=77 c=m,c=109
(2)程序运行结果
输入:
1,2 3,4 5,6 7,6 a,b
运行一: 1 0,1,0,0
运行二: 2 0,0,1,1
运行三: 3 0,0,0,1
运行四: 4 1,0,0,0
运行五: 5 1,0,0,0
输入不同数据以后,a,b,c,d 的结果不一样,分析其原因主要在于:输入值不同, switch 语句进入的 case 分支不同;当分支语句中未出现 break 时 switch 语句会继 续继续进入下一 case 分支分支执行,直到遇到 break 或最后。
实验三
一、验证性试验 15M5.55
b=25,y=2.6,c2=N a= 15,b=25 x=5.550000,y=2.600000 c1=M,c2=N 在 scanf("%d%c%f",&a,&c1,&x);的输入中,由于输入字符型数据时空格会作为 有效输入字符处理,所以空格不能作为数据输入的分隔符,在输入 a 的值后,接 下来输入的应是一个字符型,若之间用空格则此空格将被视为一个字符,但若是 先输字符再输一个数,其间就可以用空格。 二、程序填空: ①a/b ②a%b ③quot,resi 三、程序改错: scanf("%f %f ",&x,&y) 改为 scanf("%d%d",&x,&y); printf("%d+%d=%d",x+y) 改为 printf("%d+%d=%d",x,y,x+y) ; (2) getchar(x) 改为 x=getchar() y=x-32 改为 y=x+32 四、设计性试:
C语言程序设计实验指导书课后答案

实验一(1)编程求37+29得值,实习VC环境。
#include<stdio、h>void main(){ﻩ int a,b,sum;a=37;ﻩ b=29;sum=a+b;printf("sum=%d",sum);}(2)从键盘输入三个整数,求出最大数并输出。
#include<stdio、h>void main(){int a,b,c,y;ﻩint max(int x,inty);ﻩ printf("input a,b,and c:");ﻩ scanf("%d,%d,%d",&a,&b,&c);y=max(a,b);ﻩ y=max(y,c);ﻩ printf("\nmax=%d\n",y);}int max(int x,int y){int z;if(x>y) z=x;else z=y;return(z);}(3)通过上机实践,运行下列程序并分析输出结果。
A 程序代码#include<stdio、h>void main(){char ch='a';ﻩprintf("%c对应得ASCII码就是:%d\n",ch,ch); ﻩ }程序输出结果:a对应得ASC||码就是:97B 程序代码#include<stdio、h>voidmain(){int a=168;ﻩ float b=123、456;float x=35、567,y;printf("a=%5d\n",a);ﻩprintf("a=%-5d\n",a);printf("b=%6、2f\n",b);ﻩprintf("b=%e\n",b);ﻩ y=(int)(x*100+0、5)/100、0;printf("x=f,y=%f\n",x,y);}程序输出结果:a=168a=168b=123、46b=1、234560e+002x=f,y=35、567001C程序代码#include<stdio、h>voidmain(){int a=168;printf("十进制数%d对应得八进制数就是%o\n",a,a);printf("十进制数%d对应得十六进制数就是%x\n",a,a);}程序输出结果:十进制数168对应得八进制数就是250十进制数168对应得十六进制数就是a8实验二2、1顺序结构2、1、1已知a=1、5,b=5、3,c=2、9,计算s=-4ac得结果并输出。
C实验报告参考答案

C实验报告参考答案集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)《高级语言程序设计》实验报告班级:学号:姓名:成绩:实验7 函数程序设计一、实验目的1.掌握函数定义的方法。
2.掌握函数实参与形参的传递方式。
3.掌握函数的嵌套调用和递归调用的方法。
4.了解全局变量和局部变量、动态变量、静态变量的概念和使用方法。
二、实验内容1(1)下列sub函数的功能为:将s所指字符串的反序和正序进行连接形成一个新串放在t所指的数组中。
例如,当s所指字符串的内容为“ABCD”时,t所指数组中的内容为“DCBAABCD”。
纠正程序中存在的错误,以实现其功能。
程序以文件名sy7_1.c存盘。
#include <stdio.h>#include <string.h>void sub( char s[], char t[] ){int i, d;d=strlen( s );for( i=1; i< d ; i++ ) for( i=0; i< d ; i++ ) t[i]=s[d-1-i] ;for( i=0; i<d; i++ )t[d+i]=s[i] ;t[2*d]='/0' ; t[2*d]='\0'}main( ){char s[100], t[100];printf( " Please enter string s : " );scanf("%s" , s );sub(s,t) ;printf( " \n The result is : %s \n ", t );}(2)下列程序的功能为:将字符数组中的字符串逆序输出。
纠正程序中存在的错误,以实现其功能。
程序以文件名sy7_2.c存盘。
#include<string.h>#include<stdio.h>#define ARR_SIZE = 80; #define ARR_SIZE 80void Inverse(char str[]) void Inverse(charstr[]);main(){ char a[ARR_SIZE] ;printf("Please enter a string: ");gets(a);Inverse(char a[]); Inverse(a);printf ("The inversed string is: ");puts(a);}void Inverse(char str[]){ int len, i = 0, j;char temp;len = strlen(str);for (j=len-1; i<j; i++, j--){ temp = str[i];str[j] = str[i]; str[i] =str[j];str[j] = temp;}}(3)下列程序的功能为:求整数n的阶乘。
C实验报告1参考答案

printf("%c,%d\n",c1,c1); c2=c1+26; printf("%c,%d\n",c2,c2);
c2=c1-32; /* 转换为大写字母 */ /* 输出大写字母及其 ASCII 码值 */
} 2.程序填空题 (1)下列程序的功能为:按给定格式输入数据,按要求格式输出结果。补充完善程序,
摄氏温度为:23.89
printf("请输入一个华氏温度:\n");
scanf("%f",f);
scanf("%f",&f);
c=(5/9)*(f-32);
c=(5.0/9)*(f-32);
printf("摄氏温度为:%5.2f\n" c);
printf("摄氏温度为:%5.2f\n", c);
} (2)下列程序的功能为:按下列公式计算并输出 x 的值。其中 a 和 b 的值由键盘输入。 纠正程序中存在的错误,以实现其功能。程序以文件名 sy3_2.c 保存。
《高级语言程序设计》实验报告
班级:
学号:
姓名:
成绩:
实验 1 熟悉 Visual C++6.0 环境及运行 C 程序
一、实验目的
1.掌握在 Visual C++6.0 环境下 C 程序的建立、编辑、编译和执行过程。 2.掌握 C 程序的最基本框架结构,完成简单程序的编制与运行。 3.了解基本输入输出函数 scanf()、printf ()的格式及使用方法。 4.掌握发现语法错误、逻辑错误的方法以及排除简单错误的操作技能。
以实现其功能。程序以文件名 sy3_4.c 保存。
c程序设计实验报告答案

c程序设计实验报告答案C程序设计实验报告答案实验目的:本实验旨在通过C程序设计,加深学生对C语言的理解,培养学生的编程能力和解决问题的能力。
实验内容:本次实验要求学生设计一个简单的C程序,要求实现以下功能:1. 输入两个整数,计算它们的和、差、积和商,并输出结果。
2. 输入一个整数,判断它是否为偶数,并输出判断结果。
3. 输入一个字符,判断它是否为大写字母,并输出判断结果。
实验步骤:1. 定义主函数main,声明变量并输入两个整数a和b。
2. 计算a和b的和、差、积和商,并输出结果。
3. 输入一个整数n,判断它是否为偶数,并输出判断结果。
4. 输入一个字符ch,判断它是否为大写字母,并输出判断结果。
实验代码:```c#include <stdio.h>int main() {int a, b, sum, diff, product, quotient, n;char ch;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;diff = a - b;product = a * b;quotient = a / b;printf("和:%d,差:%d,积:%d,商:%d\n", sum, diff, product, quotient); printf("请输入一个整数:");scanf("%d", &n);if (n % 2 == 0) {printf("%d是偶数\n", n);} else {printf("%d不是偶数\n", n);}printf("请输入一个字符:");scanf(" %c", &ch);if (ch >= 'A' && ch <= 'Z') {printf("%c是大写字母\n", ch);} else {printf("%c不是大写字母\n", ch);}return 0;}```实验结果:经过测试,上述程序能够正确实现所要求的功能,输入不同的整数和字符,程序可以正确输出相应的结果。
C实验参考答案

实验二基本数据类型、运算符及表达式1. 分析以下程序,判断输出结果,然后上机运行程序验证结果。
(1)# include <stdio.h>main( ){ int sum = 1 ;sum = sum +100 ;printf("SUM = %d\n", sum);}输出结果为:101(2)改正后的程序为:# include <stdio.h>main( ){ char ch1 , ch2 ;ch1 = 'b' ;//不能把字符串"b"赋给字符变量ch2 = ch1 - 32 ;printf("%c %d %c %d\n", ch2,ch2,ch1,ch1);}(3)# include <stdio.h>main( ){ int a = 10 , b =3 ;printf("%d\n", (a = a - 1 , b + a , b + 2));}输出结果为5,(a = a - 1 , b + a , b + 2)作为一个逗号表达式。
(4)# include <stdio.h>main( ){int a = 5 , b = 3 , c = 4 ;a *= a += 3;b = ++c ;c = b++ ;a =b +++c ;printf("\n%d,%d,%d", a , b , c);}输出结果为:11,7,5(5)程序改正为:# include <stdio.h>main( ){int a = 1 , b = 2 , c = 3 , logic ;logic = a + b > c && b <= c ;printf("logic = %d\n", logic);logic = a >= b + c || b == c;printf("logic = %d\n", logic);logic =!(a < c) +b!=1 && (a + c)/2 ;printf("logic = %d\n", logic);}输出结果为:logic = 0logic = 0logic = 12. 以下程序可能有多处错误,请改正并调试运行程序。
c语言实验报告三答案(完整版)

实验三循环控制实验课程名:高级语言程序设计(C)专业班级:学号:姓名:实验时间:实验地点:指导教师:一、实验目的和要求1. 熟练掌握用while语句、do while语句和for语句实现循环的方法。
2. 掌握在程序设计中用循的方法实现一些常用算法。
并进一步学习调试程序的方法。
二、实验内容1、任务名称程序c40101.c求1+…+100,填空,实现该功能。
(1、)源代码:#include<stdio.h>int main(){int s,i;s=0;for(i=1;i<=100;i++)s=s+i;printf("1+2+...+100=%d\n",s);return 0;}运行结果:(需要截图)(2、)源代码:#include<stdio.h>int main(){int s=0,i=1;while(i<=100){s+=i;i++;}printf("1+2+...+100=%d\n",s);return 0;}运行结果:运行结果分析:2、任务名称:分别运行这两个程序,若输入7,这两个程序的结果分别是多少?若输入12,这两个程序的结果又分别是多少?比较为什么会有这样的区别?(1、)源代码:#include <stdio.h>void main(){ int i,n,sum=0;scanf("%d",&i);n=i;while(i<=10){ sum+=i;i++;}printf("%d+...+10=%d\n",n,sum);}运行结果:(需要截图)(2、)源代码:#include <stdio.h>int main(){ int i,n,sum=0;scanf("%d",&i);n=i;do{ sum+=i;i++;} while(i<=10);printf("%d+...+10=%d\n",n,sum);return 0;}运行结果:运行结果分析:3、任务名称:下面程序,若输入12345,分析输出结果是多少?源代码:#include <stdio.h>void main( ){ long data;scanf("%ld",&data);while(data){ printf("%ld,",data%10);data=data/10;}}运行结果:(需要截图)运行结果分析:4、任务名称:程序c40104.c 实现求Fibonacci 数列的前n 个数。
C语言实验答案

C语言实验答案实验一:编写C程序求和实验背景:C语言是一种通用的程序设计语言,可以用于开发各种应用程序。
在本实验中,我们将学习如何使用C语言编写程序来求和。
实验步骤:1. 打开集成开发环境(IDE)或文本编辑器,创建一个新的C程序文件。
2. 在程序文件中,添加必要的头文件,如stdio.h。
3. 在主函数中,声明变量来存储要求和的数字。
4. 使用printf函数提示用户输入数字,并使用scanf函数从用户处接收输入。
5. 在程序中使用循环语句(如for循环或while循环)将输入的数字相加。
6. 使用printf函数将求和结果输出到屏幕上。
7. 编译并运行程序,验证结果是否正确。
实验示例代码:```c#include <stdio.h>int main() {int num1, num2, sum = 0;printf("请输入第一个数字: ");scanf("%d", &num1);printf("请输入第二个数字: ");scanf("%d", &num2);for(int i = num1; i <= num2; i++) {sum += i;}printf("两数之间的和为: %d\n", sum);return 0;}```实验结果:假设用户输入的第一个数字为1,第二个数字为5,则程序会输出结果:```两数之间的和为: 15实验二:编写C程序实现字符串反转实验背景:在C语言中,对字符串进行反转是一种常见的操作,可以用于解决很多问题,如判断回文等。
在本实验中,我们将学习如何使用C语言编写程序来实现字符串反转。
实验步骤:1. 打开集成开发环境(IDE)或文本编辑器,创建一个新的C程序文件。
2. 在程序文件中,添加必要的头文件,如stdio.h和string.h。
c语言程序设计实验教程课后答案

c语言程序设计实验教程课后答案C语言程序设计实验教程课后答案C语言是一种广泛使用的计算机编程语言,以其高效、灵活和功能强大而著称。
学习C语言不仅能够帮助学生理解计算机程序设计的基础,而且能够为学习更高级的编程语言打下坚实的基础。
以下是一些常见的C语言程序设计实验教程课后问题及其答案。
问题1:编写一个C程序,计算并输出两个整数的和。
答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和是:%d\n", sum);return 0;}```问题2:编写一个C程序,判断一个整数是否为素数。
答案:```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1) return 0;for (int i = 2; i <= sqrt(n); i++) {if (n % i == 0) return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。
\n", num);} else {printf("%d 不是素数。
\n", num);}return 0;}```问题3:编写一个C程序,实现简单的学生成绩管理系统。
答案:```c#include <stdio.h>struct Student {char name[50];int score;};int main() {struct Student students[3] = {{"Alice", 85},{"Bob", 90},{"Charlie", 78}};int i;printf("学生成绩列表:\n");for (i = 0; i < 3; i++) {printf("%s: %d\n", students[i].name, students[i].score);}return 0;}```问题4:编写一个C程序,实现字符串的反转。
C语言实验报告 实验一 参考答案

实验一参考答案1、数据类型、运算符和表达式的应用(1)整型数据的溢出(建立程序文件名为sy1-1.c)# include <stdio.h>void main(){short int a,b;a=32767;b=a+1;printf("a=%d,b=%d\n",a,b);}程序运行结果:a=32767,b=-32768原因:32767是short int型数据的最大值,其二进制为(0111111111111111),在其上加1后产生溢出,变成-32768的补码,其二进制为(1000000000000000)。
整数在内存中以二进制补码形式存放,运算时符号位也要参与运算。
结论:使用整型数据应注意其表示范围,避免产生溢出。
(2)浮点型数据的舍入误差(建立程序文件名为sy1-2.c)# include <stdio.h>void main(){float a,b;a=123456.789e5;b=a+20;printf("a=%f\tb=%f\n",a,b);}程序运行结果:a=1345678848.000000 b=12345678868.000000原因:理论分析a变量的值为12345678900,b的值经计算应为12345678920,结果输出的a和b的值都不对,原因是float型数据的有效数字位数为7位,后几位数字都是不准确的。
结论:应当避免将一个很大的数和一个很小的数直接相加或相减,否则会“丢失”较小的数。
(3)字符型数据和整型数据的混合使用(建立程序文件名为sy1-3.c)# include <stdio.h>void main(){char c1,c2;c1=65; c2=66;printf("%c %c\n",c1,c2);}程序运行结果:A B原因:c1,c2两个变量的类型为char型,在内存中分配1B的存储空间用于存放字符的ASCII码二进制,其存放的数据范围为0~255。
C实验报告答案完整版

C实验报告答案完整版实验1简单判定性问题求解⼀、实验学时完成本实验需4学时。
⼆、实验⽬的1、阅读程序题(1)掌握C语⾔数据类型,熟悉如何定义⼀个整型、字符型的变量,以及对它们赋值的⽅法;(2)掌握不同的类型数据之间赋值的规律;(3)掌握数据在内存中的存储⽅式;(4)学会输⼊、输出函数的基本格式和使⽤⽅法;(5)学会使⽤有关算术运算符、逻辑运算符、关系运算符,以及包含这些运算符的表达式。
2、编程题(1)如何运⽤if-else判定性结构进⾏程序设计;(2)如何运⽤switch判定性结构进⾏程序设计。
3、调试题(1)熟悉C程序的编辑、编译、连接和运⾏的过程。
三、实验指导为了达到最佳的实验效果,以下提供⼏条适于编程的指导意见,可供参考。
1、阅读程序题应先运⽤⾃⼰在课堂所学的知识,推导出结果,在上机时输⼊计算机,印证⾃⼰推导的结果,注意观察数据在内存中的存储⽅式、含不同种运算符表达式的输出结果。
2、编程题必须⾸先画出流程图,并反复思考判断程序设计的正确性,完成程序的设计。
要注意简单判定性问题的结构选择。
3、调试题应明确程序的调试、测试是⼀项⾮常烦琐的⼯作,也是⾮常重要的⼯作。
对于初学者来说应该建⽴良好的习惯,在调试程序的时候,应该尽可能考虑到程序运⾏时各种可能情况。
四、实验内容1、阅读程序题(1)main( ){ /*定义字符型变量*/char c1,c2; /*向字符变量赋以整数*/c1=97;c2=98;printf("%c %c\n",c1,c2); /*以字符形式输出*/printf("%d %d\n",c1,c2); /*以整数形式输出*/}思考:可否改成int c1,c2;输出结果是?相同(2)main(){int a=7,b=5;printf("%d\n",b=b/a);}思考:若将printf语句中%d变为%f,可否输出分式的值?可以(3)main() {int a=9;a+=a-=a+a; /*包含复合的赋值运算符的赋值表达式*/printf("%d\n",a);}思考:赋值表达式a+=a-=a+a的求解步骤?第⼀步:a=a-(a+a)=-9 第⼆步a=a+a=18(4)main(){int k=-1;printf("%d,%u\n",k,k);}思考:-1在内存中的存储形式?取反加⼀11111111111111111111111111111111(32个)(5)main(){unsigned x1;int b=-1;x1=b; /*有符号数据传送给⽆符号变量*/printf("%u",x1);}(6)main(){int a=3,b=4,c=5;printf("%d\n",(!(aprintf("%d",c);}思考:若将第⼀个1(换⾏)6(7)main(){ int a=1,b=2,c=3;if(c=a) ; printf("%d\n",c);else printf("%d\n",b);}2、编程序并上机调试运⾏(包括题⽬及要求、流程图、程序清单、测试数据及结果)(1)将⼀个百分制成绩转换成等级制成绩,百分制与等级制的对应具体要求如下:1)⽤switch语句实现该功能;2)⽤键盘输⼊百分制成绩,输⼊前要有提⽰信息,对于不合理的数据应输出错误信息;3)输出结果应包含百分制成绩和成绩等级;4)分别输⼊成绩-10,30,60,68,75,83,95,102,查看记录运⾏结果。
C语言实验报告参考答案(原)

改成:printf("\’%c\’\’%c\’%d\n",a,b,c);
问题5把scanf("%c%c%d",&a,&b,&c);和printf("%c,%c,%d\n",a,b,c);
改成scanf("%c%*c%c%*c%d",&a,&b,&c);
#include<math.h>
int count(int x)
{
int sum,i;
sum =0;//记住因子的个数
for(i=1;i<=x/2;i++)
if(x%i == 0)
sum +=1;
return sum+1;
}
int main(void)
{
int i,y;
for(i=1;i<=100;i++)
#include<stdio.h>
#include<math.h>
int prime(int m)
{
int i,k;
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>k)return 1;
return 0;
}
main()
{
int i,k;
k=0;
for(i=3;i<=5000;i++)
if(prime(i)==1){k++;printf("%d is a prime muber \n",i);}
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验编程题答案实验一1、输入日期的年份和月份,求该月有多少天。
提示:对于月份为1、3、5、7、8、10、12的月份天数为31,月份为4、6、9、11的月份天数为30,月份为2时要结合年份考虑闰年的情况。
#include<iostream>using namespace std;int main(){int y,m;cin>>y>>m;if(1900<=y&&y<3000&&0<m&&m<13){if(y%4==0&&y%100!=0||y%400==0){switch(m){case 1:cout<<"31";break;case 2:cout<<"29";break;case 3:cout<<"31";break;case 4:cout<<"30";break;case 5:cout<<"31";break;case 6:cout<<"30";break;case 7:cout<<"31";break;case 8:cout<<"31";break;case 9:cout<<"30";break;case 10:cout<<"31";break;case 11:cout<<"30";break;case 12:cout<<"31";break;}}else{switch(m){case 1:cout<<"31";break;case 2:cout<<"28";break;case 3:cout<<"31";break;case 4:cout<<"30";break;case 5:cout<<"31";break;case 6:cout<<"30";break;case 7:cout<<"31";break;case 8:cout<<"31";break;case 9:cout<<"30";break;case 10:cout<<"31";break;case 11:cout<<"30";break;case 12:cout<<"31";break;}}}elsecout<<"Input error!";return 0;}2、某高校录取研究生的要求是,新生的每门课成绩不低于60分,总成绩不低于340分,370分以下为自费。
编一程序实现输入一个学生的四门课成绩,试判断该生为该校录取的情况(“没有录取”、“自费”、“公费”三种情况)。
#include<iostream>using namespace std;int main(){int a,b,c,d,s;cin>>a>>b>>c>>d;s=a+b+c+d;if(a>=60&&b>=60&&c>=60&&d>=60&&s>=340){if(s>=370) cout<<"公费"<<endl;else cout<<"自费"<<endl;}else cout<<"没有录取"<<endl;return 0;}3、在华农校园里,没有自行车,上课办事会很不方便。
但实际上,并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。
假设找到自行车,开锁并骑上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。
请判断走不同的距离去办事,是骑车快还是走路快。
#include<iostream>using namespace std;int main(){double tb,tw,s;cin>>s;tb=s/3+50;tw=s/1.2;if(tb>tw) cout<<"Walk"<<endl;elseif(tb<tw) cout<<"Bike"<<endl;else cout<<"All"<<endl;return 0;}4、一个停车场的标准收费是3小时之内收5元,超过3小时,每增加1小时加收2元;如果时间不是整数,按比例收取,例如:如果输入为3.6小时,则费用为5 + (3.6-3)*2 = 6.2 元。
最高收费为40元。
假设任何车辆的停车时间都不超过24小时。
编写程序,计算每辆车的停车费。
【提示】要输出浮点数、双精度数小数点后2位数字,可以用下面这种形式:cout<<fixed<<setprecision(2)<<cost<<endl;按上面的形式控制输出格式时,需在源程序最开始加上一行:#include<iomanip>。
#include<iostream>#include<iomanip>using namespace std;int main(){double t,cost;cin>>t;if(t<=3) cout<<"5.00"<<endl;elseif(t<=20.5){cost=(t-3)*2+5;cout<<fixed<<setprecision(2)<<cost<<endl;}else cout<<"40.00"<<endl;return 0;}5、模拟计算器的功能,能根据用户输入的两个运算数和运算符(’+’、‘-’、‘*’或‘/ ’),对两个数进行相应的运算,输出运算结果。
注意:除法运算‘/ ’的除数不能为0。
#include<iostream>using namespace std;int main(){double a,b,n;char c;cin>>a>>b>>c;if(c=='/'&&b==0) cout<<"除数为0!"<<endl;elseif(c!='+'&&c!='-'&&c!='*'&&c!='/') cout<<"运算符号错误!";elseif(c=='+'){n=a+b;cout<<n<<endl;}if(c=='-'){n=a-b;cout<<n<<endl;}if(c=='*'){n=a*b;cout<<n<<endl;}if(c=='/'){n=a/b;cout<<n<<endl;}return 0;}实验二1、给定一个正整数a,以及另外的5个正整数,问题是:这5个整数中,小于a的整数的和是多少?#include<iostream>using namespace std;int main(){ int a,b,c,d,e,f,x=0;cin>>a>>b>>c>>d>>e>>f;if(a<=100)if(b<a) x=x+b;if(c<a) x=x+c;if(d<a) x=x+d;if(e<a) x=x+e;if(f<a) x=x+f;cout<<endl<<x<<endl;return 0;}2一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。
编程计算气球在第5次落地时,共经过多少米? 第5次反弹多高?#include<iostream>using namespace std;int main(){int h0;double s,h;cin>>h0;h=h0/32.0;s=h0+2*(h0/2.0+h0/4.0+h0/8.0+h0/16.0);cout<<s<<' '<<h<<endl;return 0;}3有一个分数序列2/1,3/2,5/3,8/5,13/8,21/13,.... 求这个分数序列的前n项之和。
#include<iostream>#include<iomanip>using namespace std;int main(){double i,n,x,y,z;double s;cin>>n;x=2;y=1;s=2;for(i=1;i<n;i=i++){z=x;x=y+z;y=z;s=s+x/y;}cout<<fixed<<setprecision(4)<<s<<endl;return 0;}4在平面坐标系中,有一个正方形,四个角的坐标(x,y)分别是(1,-1),(1,1),(-1,-1),(-1,1),x是横轴,y是纵轴。