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语言程序设计实验指导书参考答案

C 语言程序设计上机实验指导与习题参考答案(仅供教师内部参考)华南农业大学目录上机实验 (1)实验 1 C 语言程序初步 (1)一、实验目的 (1)二、实验内容 (1)实验 2 基本数据类型、运算和表达式 (3)一、实验目的 (3)二、实验内容 (3)实验 3 基本输入与输出 (5)一、实验目的 (5)二、实验内容 (5)实验 4 选择结构程序设计 (4)一、实验目的 (4)二、实验内容 (4)实验 5 循环结构程序设计(一) (9)一、实验目的 (9)二、实验内容 (9)实验 6 循环结构程序设计(二) (15)一、实验目的 (15)二、实验内容 (15)实验7 数组 (17)一、实验目的 (17)二、实验内容 (17)实验8 字符数组的应用 (22)一、实验目的 (22)二、实验内容 (22)实验9 函数的基本应用 (24)一、实验目的 (24)二、实验内容 (24)实验10 指针与结构体 (26)一、实验目的 (26)二、实验内容 (26)*实验11 链表 (29)一、实验目的 (29)二、实验内容 (29)*实验12 文件 (32)一、实验目的 (32)二、实验内容 (32)上机实验实验1 C语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个 C 程序。
(3)通过运行简单的 C 程序,初步了解C 程序的特点。
(4)在教师的指导下,学会使用JudgeOnline 实验系统。
二、实验内容1. 运行第一个C 程序[题目:The first C Program]将下列程序输入TC(或VC++),编译、连接和运行该程序。
void main(){printf("The first C Program\n");}[具体操作步骤]以Turbo C 上的操作为例(1)Windows 进入后,按照第一章中介绍的方法,进入Turbo C。
C语言程序设计 上机实验指导与习题 参考答案(第四版)

C 语言程序设计上机实验指导与习题参考答案(第四版)(学生改编)实验 1:C语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个 C程序。
(3)通过运行简单的 C 程序,初步了解 C程序的特点。
(4)在教师的指导下,学会使用在线评判系统。
二、实验内容1.运行第一个 C 程序题目:ThefirstCProgram将下列程序输入visualc ,编译、连接和运行该程序。
includequotstdio.hquotmain printfquotThefirstCProgramnquot具体操作步骤(1)在编辑窗口中输入程序。
(2)保存程序,取名为a1.c。
(3)按照第一章中介绍的方法,编译、连接和运行程序。
,则该题完成。
4按照第三章介绍的方法,将代码提交到在线评判系统,系统返回“通过”2.在在线评判系统中提交实现了计算 ab 功能的程序题目 1001:计算ab由键盘输入两个整数,计算并输出两个整数的和。
实现该功能的程序如下,inclu dequotstdio.hquotmain int ab scanfquotddquotampaampbprintfquotdquotab(1)在程序编辑窗口中输入程序。
(2)保存程序,取名为a2.c。
(3)按照前二章中介绍的方法,编译、连接和运行程序。
(4)在程序运行过程中,输入 15 30↙↙表示输入回车符(5)如果看到如下输出结果,则表明1530 的结果正确,如果得不到如下结果,则需检查并更正程序。
45(6)按照第三章中介绍的方法进入在线评判系统。
(7)显示题目列表,点击题号为 1001,题名为“计算ab”的题目。
(8)查看完题目要求后,点击页面下端的“sumbit” ,参照第二章提交程序的方法提交程序a2.c。
(9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。
C语言程序设计实验三答案

实验三 选择结构程序设计一、实验目的与要求1. 理解C 语言表示逻辑量的方法,学会正确使用逻辑运算符和逻辑表达式。
2. 掌握利用if 结构实现选择结构的方法。
3. 掌握利用switch 结构实现多分支选择结构。
4. 结合程序掌握一些简单的算法,学习调试程序5. 实验4学时二、实验内容1.程序改错题改正下面程序中的错误。
输入实数x ,计算并输出下列分段函数f(x)的值(保留1位小数)。
)100(1=x x==)(x f y)100(≠x x输入输出示例1(改正后程序的运行结果)Enter x :100f )=输入输出示例2(改正后程序的运行结果)Enter x :23f )=源程序(有错误的程序)#include<>#include<>void main(void){double x;printf("Enter x: \n");scanf("=%f", x);if (x = 100) {y = 1/sqrt(x)}else (x != 100) {y = x;}printf("f(%.2f) = %.1f\n",x,y);}答:#include<>#include<>void main(void){double x,y;printf("Enter x:\n");scanf("%lf",&x);if (x=100)y = 1/sqrt(x);elsey= x;printf("f(%.2lf)=%.1lf\n",x,y);}2.一般编程题编程题1输入任意三个整数a,b,c ,求3个数中的最大值和最小值。
答:#include <>void main(){int a,b,c;printf("请输入三个整数:");scanf("%d %d %d",&a,&b,&c);if (a>=b)t=a,a=b,b=t;if (a>=c)t=a,a=c,c=t;if (b>=c)t=b,b=c,c=t;printf("最小值为:%d\n",a);printf("最大值为:%d\n",c);}编程题2输入x ,计算并输出下面分段函数f(x)的值(保留2位小数)。
c语言实验习题及答案详解

1.数据类型a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;,#include<>main(){double b,d;printf("请输入一个小数:");scanf("%lf",&b);printf("输出原来的数:%f\n",b);b*=1000;b+=;b=(int)b;d=b/1000;printf("输出现在的数:%.3lf\n0",d);}b.输入一个4位整数,求其得各位数字的平方和;(1234 1+4+9+16=30)#include<>main(){int n,sum=0,i,t;printf("请输入一个四位整数:\n");scanf("%d",&n);for(i=0;i<4;i++){t=n%10;n/=10;sum+=t*t;}printf("%d\n",sum);}c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码;#include<>main(){char ch;ch='A';ch=65;ch=0x41;ch=0101;ch='\101';ch='\x41';}d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz)#include<>main(){int i;for(i=65;i<91;i++){printf("%c",i);printf("%c",i+32);}printf("\n");}e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次#include<>main(){double f1,f2;f1=10e-30;f2=10e30;printf("%lf\n%lf\n",f1,f2);}f.定义一个单精度浮点型变量f和一个双精度浮点型变量d,为f和d都赋值,输出f和d得值,要求保留20位小数,观察输出结果;#include<>void main(){float f;double d;f=;d=;printf("f=%.20f\nd=%.20lf\n",f,d);}g.输入华氏温度求摄氏温度。
武汉理工大学C语言程序设计实验精选报告含答案

注:在 Visual C++ 6.0 编译环境中亲身调试经过,但不保证在Turbo C 中经过。
实验二选择构造的程序设计(题目当初没抄下来,这是依据程序整理的)4 x 8 1 x 01. 编程实现分段函数210x 1 0 x 1y 3x8x4 3x2 2 x 1 1 x 2#include<stdio.h>main(){float x,y;printf("Please input x:");scanf("%f",&x);if (x<-1||x>=2)printf("Data Error\n");else{if (x>=-1&&x<0)y=4*x-8;if (x>=0&&x<1)y=3*x*x+10*x-1;if (x>=1&&x<2)y=8*x*x*x*x-3*x*x+2*x-1;printf("\ny=%f\n",y);}}2.苹果有三个等级,一级 5.50 元 /斤,二级3.00 元/ 斤,三级 2.50 元 /斤。
编写程序,输入苹果的等级,购置的数目和所付的钱数,输出等级,购置的数目、对付钱数和找零。
#include<stdio.h>main(){int level;double weight,pay,money,charge;printf("Please input the level:");scanf("%d",&level);printf("Please input the weight you want:");scanf("%lf",&weight);printf("Please input the money you pay:");scanf("%lf",&pay);if (level<1||level>4||weight<0)else{printf("Data Error\n");if (level==1)else if (level==2) else if (level==3) else if (level==4) charge=pay-money; money=weight*5.50; money=weight*4.20; money=weight*3.00; money=weight*2.50;printf("\nLevel:%d\nweight:%g\n",level,weight);printf("money:%g\ncharge:%g\n\n",money,charge);}}实验三循环构造1.编程计算 1!+2! +3! +4! +5 !分别用单层循环和双层循环实现1020i!和i !考虑i 1i 1#include<stdio.h>main(){int i,x;double j,k,sum;printf("Please input a number:");scanf("%d",&x);//用单层循环for(sum=0,j=1,i=1;i<=x;i++){j*=i;sum+=j;}printf("The result is %lf\n",sum);//用双层循环for(sum=0,i=1;i<=x;i++){for(k=1,j=1;j<=i;j++) k*=j;sum+=k;}printf("The result is %lf\n",sum);}2. 共 20 个评委给选手评分,去掉1 个最高分,去掉 1 个最低分,其余18 名评委的均匀分即选手最后得分#include <stdio.h>main(){double score,min,max,avg=0;int i;//下边是为了输入第一个数printf("Please input 20 scores...\n");printf("Score 1:");min=score;max=score;avg+=score;//下边为了输入节余 19 个数 for(i=2;i<=20;i++){do{printf("Score %d:",i);scanf("%lf",&score);}while(score<0);if(score>max) max=score;avg+=score;}avg=avg-min-max;avg/=18;printf("\nThe average score is %lf:\n",avg);}实验四数组和指针的应用1. 定义一个有 10 元素的一位数组 count,从键盘上输入 8 个整数,将其按从大到小的次序摆列,并将排序后的数组输出( 1)数组方法#include<stdio.h>main(){int count[10],t,i,j;printf("Please input 8 numbers:\n");for(i=0;i<8;i++)scanf("%d",&count[i]);for(i=0;i<8;i++)for(j=i+1;j<8;j++)if (count[i]<count[j]){t=count[i];count[i]=count[j];count[j]=t;}printf("The sorted array is as follows:\n");for (i=0;i<8;i++)printf("%d",count[i]);}( 2)指针方法#include<stdio.h>main(){int count[10],t,i,j,*p=count;printf("Please input 8 numbers:\n");for(i=0;i<8;i++)scanf("%d",&p[i]);for(i=0;i<8;i++)for(j=i+1;j<8;j++)if (*(p+i)<*(p+j)){t=*(p+i);*(p+i)=*(p+j);*(p+j)=t;}printf("The sorted array is as follows:\n");for (i=0;i<8;i++)printf("%d",count[i]);}2.输入 2 个字符串,将两者连结并输出,再将连结后的字符串反向摆列并输出,并求连结后字符串的长度#include<stdio.h>#include<string.h>main(){int i,len;char a1[51],a2[26],t[51];printf("Please input 2 strings:\n");gets(a1);gets(a2);strcat(a1,a2);printf("The joint string is: %s",a1);len=strlen(a1);printf("\nThe length of the linked string is: %d\n",len);for(i=0;i<len;i++)t[i]=a1[len-i-1];t[len]=0;strcpy(a1,t);printf("The reversed string is: %s\n",a1);}实验五函数应用的程序设计1.要求是:编写一函数,统计字符串中字母、数字、空格和其余字符的个数在主函数中输入字符串并输出统计结果值传递:#include<stdio.h>void fun(char a,int *b){if(a>='A'&&a<='Z'||a>='a'&&a<='z')b[0]++;else if(a>='0'&&a<='9')b[1]++;else if(a==32)b[2]++;else b[3]++;}main(){char a[50];int b[4],i,j,k;for(i=0;i<3;i++){for(j=0;j<4;j++)b[j]=0;printf("\nPlease input a string:\n");gets(a);k=0;while(a[k]!=0){fun(a[k],b);k++;}printf("The string have %d letters, %d numbers, %d spaces, %d other chars\n",b[0],b[1],b[2],b[3]);}}地点传达:#include<stdio.h>void fun(char *a,int *b){int i=0;while(a[i] != 0){if(a[i]>='A'&&a[i]<='Z'||a[i]>='a'&&a[i]<='z')b[0]++;else if((a[i]>='0')&&(a[i]<='9'))b[1]++;elseif(a[i]==32)b[2]++;else b[3]++;i++;}}main(){char a[50];int b[4],i,j;for(i=0;i<3;i++){for(j=0;j<4;j++)b[j]=0;printf("\nPlease input a string:\n");gets(a);fun(a,b);printf("\nThe string have %d letters, %d numbers, %dspaces, %d other chars",b[0],b[1],b[2],b[3]);}}。
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语言实验报告三答案(完整版)

实验三循环控制实验课程名:高级语言程序设计(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语言实验题及参考答案

实验一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语言实验答案(DOC)

实验2 顺序结构程序设计1. 编写程序,从键盘输入一个大写字母,将它转换为对应的小写字母后输出。
参考程序:#include "stdio.h"void main(){char ch;printf(“\nPlease input a capital character:”);scanf(“%c”,&ch);ch=ch+32;printf(“\nThe small letter is %c”,ch);}2.编写程序,输入圆半径r ,求圆周长、圆面积、圆球体积。
参考程序:#include <stdio.h>#include <math.h>#define PI 3.14void main(){float r,c,area,v;printf(“\nPlease input the r:”);scanf(“%f”,&r);c=2*PI*r;area=PI*r*r;v=4.0/3*PI*pow(r,3);printf(“\nThe circle’s perimeter is %.2f”,c);printf(“\nT he circle’s area is %.2f”,area;printf(“\nThe circle’s volume is %.2f”,v);}3. 输入一个华氏温度,要求输出摄氏温度。
公式为:()3295-=F c 输出要有文字说明,取2位小数。
参考程序:#include <stdio.h>void main(){float f,c;printf(“\nPlease input a F temperature:”);scanf(“%f ”,&f);c=5.0/9*(f-32);printf(“\nThe temperature is %.2f ”,c);}4. 有3个电阻r1、r2、r3并联,编写程序计算并输出并联后的电阻r 。
C语言程序设计实验实验指导书及答案

常熟理工学院电气与自动化工程学院《C语言程序设计》实验指导书实验一熟悉C程序运行环境班级学号姓名成绩一、实验目的1. 熟悉C语言Visual C++6.0调试环境。
2. 掌握C程序的编辑、调试及运行。
二、实验内容项目1. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){printf(“Good morning!\n”);printf(“Hello,world!\n”);return 0;}运行结果(注意,按照屏幕输出格式写):项目2. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){int a , b , sum; /*定义变量*/a=23; b=56; /*为变量赋值*/sum=a+b; /*计算两个变量的和*/printf(“sum is %d\n”,sum); /*输出计算结果*/return 0;}运行结果:2项目3. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int max(int,int);int main(){int a , b , c; /*定义变量*/a=23; b=56; /*为变量赋值*/c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/return 0;}int max(int x,int y) /*定义max函数,函数值为整型*/ {int z; /*定义变量*/if(x>y)z=x;elsez=y;return(z); /*将z的值返回*/}运行结果:三、提高部分1.试想,如果求10个数中的最大者,则程序该如何编写。
程序代码运行结果:实验二数据及其运算班级学号姓名成绩一、实验目的1. 掌握C数据类型的概念、熟悉整型、字符型和实型基本类型的常量的用法;学会三种基本类型变量的定义、赋值和使用方法。
C语言实验报告第3章答案

3.2基础实验一、程序分析1.以下程序若输入’a’,则输入格式为:__c1=a____;运行结果为:___a,A↙_____。
#include<stdio.h>intmain( ){char c1,c2;scanf(“c1=%c”,&c1);c2=c1-32;printf(“%c,%c\n”,c1,c2);return 0;}2.以下程序如果使得a的值为2、b的值为3,则输入格式为:_a=2,b=3__;运行结果为:_2,3↙_。
#include<stdio.h>intmain( ){ int a,b;scanf(“a=%d,b=%d”,&a,&b);printf(“%d,%d\n”,a,b);return 0;}3.以下程序若输入12.3、7.6、1.1,则输入格式为:_12.3 7.6 1.1__;运行结果为:_aver=7.00___。
#include<stdio.h>intmain( ){ floata,b,c,d;scanf(“%f%f%f”,&a,&b,&c);d=(a+b+c)/3;printf(“aver=%.2f”,d);return 0;}二、程序填空1.输入一个四位整数,求各位数字之和(如1234,则结果为1+2+3+4=10)。
若输入3562,则运行结果为:___3+5+6+2=16↙____________。
#include <stdio.h>intmain( ){ int n,a,b,c,d,m;scanf(“%d”,&n);a=n%10;b=(n/10)%10;c=(n/100)%10;d=__n/1000________;m=__a+b+c+d________;printf(“%d+%d+%d+%d=%d\n ”, d,c,b,a,m);return 0;}2.给定一个华氏法表示的温度值,将其转换为摄氏法表示的温度,转换公式为则运行结果为:__f=64.00,c=17.78↙__。
C语言实验报告第5章答案

5.2基础实验一、程序分析1.以下程序的运行结果是a=3,b=7↙。
#include <stdio.h>intmain( ){ int a=2,b=8;while(b--<0)b-=a ;a++ ;printf(“a=%d,b=%d\n”,a,b);return 0;}2.以下程序的运行结果是sum=14。
#include <stdio.h>intmain( ){ int n,sum= 0 ;n=2345;do{ sum = sum +n%10;n=n/10;} while(n);printf(“sum=%d ”,sum);return 0;}3.以下程序的运行结果是2550。
#include <stdio.h>intmain( ){ int i,s=0;for(i=0;i<=100;i++)if(i%2==0)s=s+i;printf(“%d”,s);return 0;}4.以下程序的运行结果是#↙。
#include <stdio.h>intmain( ){ int i;for(i=1;i<6;i++){ if(i%2) {printf(“#”);break;}printf(“*”);}printf(“\n”);return 0;}5.以下程序的运行结果是#*#*#↙。
#include <stdio.h>intmain( ){ int i;for(i=1;i<6;i++){ if(i%2) {printf(“#”);continue;}printf(“*”);}printf(“\n”);}6.以下程序的运行结果是。
#include <stdio.h>intmain( ){ int i,j;for(i=1; i<=4;i++){ for(j=1;j<=2*i-1;j++)printf(“”);for(j=1;j<=4-i;j++)printf(“*”);printf(“\n”);}return 0;}5.3拓展实验一、程序分析2.⊙以下程序的运行结果是:x=5 y=3 z=0↙。
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简单判定性问题求解一、实验学时完成本实验需4学时。
二、实验目的1、阅读程序题(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋值的方法;(2)掌握不同的类型数据之间赋值的规律;(3)掌握数据在内存中的存储方式;(4)学会输入、输出函数的基本格式和使用方法;(5)学会使用有关算术运算符、逻辑运算符、关系运算符,以及包含这些运算符的表达式。
2、编程题(1)如何运用判定性结构进行程序设计;(2)如何运用判定性结构进行程序设计。
3、调试题(1)熟悉C程序的编辑、编译、连接和运行的过程。
三、实验指导为了达到最佳的实验效果,以下提供几条适于编程的指导意见,可供参考。
1、阅读程序题应先运用自己在课堂所学的知识,推导出结果,在上机时输入计算机,印证自己推导的结果,注意观察数据在内存中的存储方式、含不同种运算符表达式的输出结果。
2、编程题必须首先画出流程图,并反复思考判断程序设计的正确性,完成程序的设计。
要注意简单判定性问题的结构选择。
3、调试题应明确程序的调试、测试是一项非常烦琐的工作,也是非常重要的工作。
对于初学者来说应该建立良好的习惯,在调试程序的时候,应该尽可能考虑到程序运行时各种可能情况。
四、实验内容1、阅读程序题(1)( ){ /*定义字符型变量*/c12; /*向字符变量赋以整数*/c1=97;c2=98;(" \n"12); /*以字符形式输出*/(" \n"12); /*以整数形式输出*/}该程序的输出结果是思考:可否改成 c1,c2;输出结果是?相同(2)(){75;("\n");}思考:若将语句中变为,可否输出分式的值?可以(3)(){9;; /*包含复合的赋值运算符的赋值表达式*/("\n");}思考:赋值表达式a+=a-=a+a的求解步骤?第一步:()9 第二步18(4)(){1;("\n");}出结果是思考:-1在内存中的存储形式?取反加一11111111111111111111111111111111(32个)(5)(){x1;1;x1; /*有符号数据传送给无符号变量*/(""1);}思考:(有符号赋值给无符号)(6)(){345;("\n",(!(a<b))(1));("");}思考:若将第一个语句中变为,结果将如何?1(换行)6(7)(){ 123;() ("\n");("\n");}该程序的输出结果是 1 。
C语言实验报告答案

C语⾔实验报告答案南京信息⼯程⼤学实验(实习)报告实验(实习)名称:指针及其应⽤⽇期:得分:指导⽼师:院系:应⽤⽓象学院专业:班次:姓名:学号:实验⽬的(1)掌握变量的指针及其基本⽤法。
(2)掌握⼀维数组的指针及其基本⽤法。
(3)掌握指针变量作为函数的参数时,参数的传递过程及其⽤法。
⼀.实验内容(1)运⾏以下程序,并从中了解变量的指针和指针变量的概念。
(2)运⾏以下程序,观察&a[0]、&a[i]和p的变化,然后回答以下问题:1.程序的功能是什么?2.在开始进⼊循环体之前,p指向谁?3.循环每增加⼀次,p的值(地址)增加多少?它指向谁?4.退出循环后,p指向谁?5.你是否初步掌握了通过指针变量引⽤数组元素的⽅法?(3)先分析以下程序的运⾏结果,然后上机验证,并通过此例掌握通过指针变量引⽤数组元素的各种⽅法。
(4)编写函数,将n个数按原来的顺序的逆序排列(要求⽤指针实现),然后编写主函数完成:①输⼊10个数;②调⽤此函数进⾏重排;③输出重排后的结果。
⼆.分析与讨论(1)指针的定义⽅法,指针和变量的关系。
定义⽅法:数据类型 *指针变量名;如定义⼀个指向int型变量的指针——int *p;则我们可以继续写如下代码——int a = 4;p = &aprintf("%d", *p);在这⾥,我们定义了⼀个变量a,我们把它理解为内存空间连续的4个字节(int型占⽤4字节),则这4个字节的空间保存着⼀个数4。
&是取地址符号,即把变量a的地址(即这4个字节的⾸地址)赋给指针p (记住指针p的类型和变量a的类型要保持⼀致,否则的话,要进⾏类型转换)。
这样⼦,指针p就保存着变量a的地址。
我们如果把指针p当做内存空间⾥⾯另外⼀个连续的4个字节,那么这4个字节保存的数就是变量a的地址。
printf("%d",*p)和printf("%d",a)的结果是⼀样的。
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语言程序设计实验指导答案
C语言程序设计实验指导答案
一、简要介绍
C语言是一种通用计算机编程语言,是一种结构化的编程语言,它的设计用于简化编译器编写、嵌入系统软件编写和库函数编写。
C语言运行效率和控制机制与汇编语言类似,其结构清晰,使用简单,易于学习和使用,因而深受程序员的喜爱。
二、设计实验要求
1、实验目的:通过实验如何编写简单的C语言程序,掌握C语法和结构,了解和掌握基本的编程技术;
2、实验内容:要求使用C语言实现一个可视化的学生管理系统,可以完成学生信息的录入、添加删除修改、查询学生信息等操作;
3、实验要求:实验以独立训练为主,在布置实验时最好有一份实验指导书,以及一份实验示例,以便于学生完成实验;
三、实验指导
1、编译器的安装:安装较新的C语言编译器,并检查安装是否顺利;
2、实验示例:安装完编译器后,应该尝试完成一个实验示例,以便于熟悉C语言的基本语法;
3、编程设计:要求学生设计编写一个可视化的学生管理系统,包括学
生信息的录入、添加删除修改、查询学生信息等操作;
4、编译运行:把设计好的源程序输入编译器中,编译并运行,检查是否数据正确输出。
四、实验验收
1、验收的开始:教师把实验要求及实验题提出,学生开始完成实验;
2、实验完成:学生把实验结果提交给老师,老师进行验收;
3、验收工作:老师根据实验要求和学生程序,对学生程序进行正确性和有效性判断,并完成验收、批阅;
4、实验结果:实验圆满完成后,老师宣布实验结束,记录实验成绩。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C实验及参考答案
Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】
上海电力学院
实验报告
课程名称高级程序设计c++(1)实验项目实验6 函数(2)
姓名学号班级专业信息安全
同组人姓名无指导教师姓名田秀霞实验日期2015年12月2日
一、实验目的
1、掌握重载函数的使用,函数的默认参数。
2. 掌握函数递归。
二、实验内容和步骤
编程序并上机调试运行。
1、编写重载函数Max1可以分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值
程序源代码(注意添加注释)
#include<iostream>
using namespace std;
int Max1(int x,int y);
int Max1(int x,int y,int z);
double Max1(double x,double y);
double Max1(double x,double y,double z);
int main()
{
int x=2,y=3,z=4;
double m=,n=,p=;
cout<<x<<','<<y<<"中最大的值是:"<<Max1(x,y)<<endl;
cout<<x<<','<<y<<','<<z<<"中最大的值是:"<<Max1(x,y,z)<<endl;
cout<<m<<','<<n<<"中最大的值是:"<<Max1(m,n)<<endl;
cout<<m<<','<<n<<','<<p<<"中最大的值是:"<<Max1(m,n,p)<<endl;
return 0;
}
int Max1(int x,int y)
{
return x>=yx:y;
}
int Max1(int x,int y,int z)
{
int max;
max=x>yx:y;
max=z>maxz:max;
return max;
}
double Max1(double x,double y)
{
return x>=yx:y;
}
double Max1(double x,double y,double z)
{
double max;
max=x>yx:y;
max=z>maxz:max;
return max;
}
运行结果(直接截取结果图)
2、编写函数,求x的y次方, 如果用户没有给出y的值,则默认输出x.(提示: 用默认参数值实现). 运行调试程序,熟悉调试窗口,熟悉单步调试和断点调试的过程.
程序源代码(注意添加注释)
#include<iostream>
using namespace std;
double powxy(double x,int y=1);
int main()
{
double x;
int y;
char choose;
cout<<"请输入x:";
cin>>x;
cout<<"要输入y么('y'输入,'n'不输入):";
cin>>choose;
if(choose=='y')
{
cout<<"请输入y:";
cin>>y;
cout<<x<<"的"<<y<<"次方为:"<<powxy(x,y);
}
else
cout<<x<<"的次方为:"<<powxy(x);
return 0;
}
double powxy(double x,int y)
{
double s=1;
for(int i=1;i<=y;i++)
s*=x;
return s;
}
运行结果(直接截取结果图)
3、求两个正整数m和n(由用户输入)之间的非素数之和(包括m和n).要求用函数实现,
程序源代码(注意添加注释)
#include<iostream>
using namespace std;
bool f(int i);
int summn(int m,int n);
int main()
{
int m,n;
cout<<"请输入两个整数"<<endl;
cin>>m>>n;
if(m<n) {int t; t=m;m=n;n=t;} cout<<summn(m,n);
return 0;
}
int summn(int m,int n)
{
int i,s=0;
for(i=n;i<=m;i++)
{
if(!f(i)) s=s+i;
}
return s;
}
bool f(int i)
{ int j;
for(j=2;j<i;j++)
if(i%j==0) return false;
return true;
}
运行结果(直接截取结果图)
4. 在主程序中提示输入整数n,编写函数用递归的方法求1+2+….+n的值。
程序源代码(注意添加注释)
#include<iostream>
using namespace std;
int sum1ton(int n);
int main()
{
int n;
cout<<"请输入n:";
cin>>n;
cout<<"从到"<<n<<",累加和为:"<<sum1ton(n);
return 0;
}
int sum1ton(int n)
{
if(n==1) return 1;
else return sum1ton(n-1)+n;
}
运行结果(直接截取结果图)
5. 用递归的方法编写函数求n阶勒让德多项式的值,在主程序中实现输入、输出。
递归公式为:
程序源代码(注意添加注释) #include <iostream>
using namespace std;
double p(int n,double x); int main()
{
int n;
double x;
cout<<"请输入n:"; cin>>n;
if (n<0) {
cout<<"错误:n 必须为大于的整数,程序将结束!";
return ;打印1!+2!+3!+……+10!之和。
要求用函数实现。
程序源代码(注意添加注释) #include <iostream>
using namespace std;
long sumjc(int n);
long jc(int n); int main()
{
12
10()1
((21)()(1)())/1n n n n p x x n n xp x n p x n n --=⎧⎪==⎨⎪--->⎩
cout<<sumjc(10);
return 0;
}
long sumjc(int n)
{
if(n==1) return jc(n);
else return jc(n)+sumjc(n-1);
}
long jc(int n)
{
if(n==1||n==0) return 1;
else return n*jc(n-1);
}
运行结果(直接截取结果图)
三、实验中遇到的问题以及解决方法
四、实验结论与体会
1、结合上课内容,写出程序,并调试程序,要给出测试数据和实验结果。
2、添加适当注释,注意书写的层次结构。
3、整理上机步骤,总结经验和体会。