C语言实验报告参考答案完整版

合集下载

C语言实验报告第1、2章答案

C语言实验报告第1、2章答案

第一章答案:1.3拓展实验1.程序分析,预测运行结果,并上机编译、连接、运行。

#include <stdio.h>intmain( ){ printf(“hello everyone!\n”);return 0;}程序的运行结果是屏幕上显示:hello everyone!↙。

[提示]printf( )函数将双引号内的普通字符按原样输出;“\n”是转义字符,含义为换行。

[思考]如果printf(“hello everyone!\n”);修改为printf(“hello\neveryone!\n”);则程序的运行结果是:hello↙everyone!↙。

2.程序改错,请查找并修改以下程序中的语法错误,使程序运行后在屏幕上显示一行信息。

#include <stdio.h>int mian( ){ printf(“I can do it!\n”)return 0;[提示](1)要调试本程序,应先关闭之前运行程序的工作区。

(2)注意体会输出窗口的提示信息,依次双击出错信息,可快速定位到出错位置附近。

(3)应把程序中的mian改为main。

(4)C语言程序要以“;”结束,注意在英文状态下输入。

(4)C语言程序要以“}”结束。

3.⊙程序设计。

编写一个C程序,实现输出如下结果:姓名:张三丰性别:男年龄:105[提示]注意中英文转换。

C程序的标点符号需在英文半角状态输入。

第二章答案2.2基础实验一、程序分析1.以下程序的运行结果是:******↙very good!↙******↙___________________。

#include<stdio.h>intmain( ){ printf(“******\n very good!\n******\n”);return 0;}2.以下程序若输入25和43,则运行结果是:_43,25____________________。

#include<stdio.h>intmain( ){int a,b,t;printf(“enter a,b,”);scanf(“%d%d”,&a,&b);t=a; a=b;b=t;printf(“%d,%d”,a,b);}3.以下程序的运行结果是:_↙x=1.08333↙______________________。

计算机C语言实验报告含答案

计算机C语言实验报告含答案

高级语言程序设计(C语言)实验报告。

………………………………………………………………………………………………一、实验题目:语句与顺序结构控制程序设计1)编写程序,已知圆半径radius=1.25,求圆周长和面积。

源代码:运行结果:#include <stdio.h> d=7.853981#define PI 3.1415926 s=4.908735void main(){float r=1.25,d,s;d=2.0*PI*r;s=PI*r*r;printf("d=%f\n",d);printf("s=%f\n",s);}2)编写程序完成大写字母的小写转换。

源代码:运行结果:#include <stdio.h> 请输入一个大写字母:H void main() H h{char ch1,ch2;printf("请输入一个大写字母:");ch1=getchar();ch2=ch1+32;printf("%c %c\n",ch1,ch2);}3)任意从键盘输入一个三位整数,要求正确分离出它的个位、十位和百位数,并分别在屏幕上显示。

源代码:运行结果:#include <stdio.h> 请输入一个整数 :123 void main() b=1,s=2,g=3{int a,g,s,b;printf("请输入一个整数:");scanf("%d",&a);b=a/100;s=(a%100)/10;g=a%10;printf("b=%d,s=%d,g=%d\n",b,s,g);}二、实验题目:选择结构程序设计程序设计1)设变量a、b、c分别存放从键盘输入的3个整数。

编写程序,按从大到小的顺序排列这3个整数,使a成为最大的,c成为最小的,并且按序输出这3个整数。

C语言实验册完整答案

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语言实验报告题及答案

《C程序设计实验》实验一C程序开发环境(2学时)1.实验目的熟悉C语言的集成开发环境,了解菜单的使用方法;掌握C语言程序上机的编辑、编译、连接、运行的基本步骤;了解C语言程序的结构。

2.实验内容(1)熟悉C语言程序上机的编辑、编译、连接、运行的基本步骤;(2)输入并调试、运行下面的程序。

#include <stdio.h>int main( ){printf ("This is a C program.\n");return 0;}(3)输入并调试、运行下面的程序。

#include <stdio.h>int main( ){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c = max(a,b);printf("max=%d\n",c);return 0;}int max(int x,int y){int z;if (x > y) z = x;else z = y;return(z);}3.实验仪器设备微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。

4.问题讨论将printf函数改为print,调试并分析结果。

实验二数据类型、运算符与表达式(2学时)1.实验目的掌握整型、字符型和实型变量的定义和使用;掌握算术运算符的使用;掌握C语言表达式的运算规则。

2.实验内容(1)输入并调试、运行下面的程序。

#include <stdio.h>int main(){char c1,c2;c1=97;c2=98;printf("%c %c\n",c1,c2);printf("%d %d\n",c1,c2);return 0;}(2)输入并调试、运行下面的程序。

#include <stdio.h>int main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d\n",i,j,m,n);return 0;}3.实验仪器设备微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。

武汉理工大学C语言程序设计实验精选报告含答案

武汉理工大学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语言实验报告(答案)

哈工大 C语言实验报告(答案)

实验1简单C 程序设计2、将下列由程序流程图描述的算法,转换为C 源代码并填写到图1-3b 框中,然后输入计算机并运行后并分析其运行结果(本小题2分)。

图1-3a 程序流程图图1-3bC 源程序3、项目编程(本小题12分)(1)请向计算机输入a,b,c 三个值,经过程序处理后,要求输出其中最大的一个。

/*C 语言源代码*/main(){}项目要求:①画出程序流程图;②根据流程图编写程序图1-4a 程序流程图图1-4b C 源程序(2)请向计算机输入a,b,c 三个值,经过程序处理后,要求按值从小到大输出。

项目要求:①画出程序流程图;②根据流程图编写程序/*输出最大值*/main(){}项目提示:①可采用if结构;②a,b,c由scanf函数输入程序流程图/*将a,b,c三个值由小到大输出*/main(){}1-5a程序流程图图1-5b C源程序(3)编程实现打印下列由字母组成的树形。

说明:本项目编程的知识点是让学生对双重循环语句结构的理解,清楚双重循环的特点(即当外循环变量中的值变化一次时,则内循环变量中的值要变化若干次)。

提示:可用外循环变量代表行数;内循环变量代表需打印字符的个数。

难点:①字符个数是按奇数变化递增②左右边界字符打印的位置图1-6a字母A-G组成的树形/*打印图形*/main(){}图1-6b C源程序(4)设计报选体育科目统计程序设某学校在新生入学时,需报选体育选修科目。

体育科目包括:篮球、排球、体操、兵乓球和网球。

请为某班级(30人)统计报选各体育科目人数。

项目要求:①画出程序流程图;②根据流程图编写源程序项目提示:可采用switch与for结构程序流程图C语言源代码main(){}图1-7a程序流程图图1-7b C 源程序实验2数组与排序五、项目编程(本题12分,每小题4分)1、将下列一组数读入到a 数组中,然后从a数组中找出其中最大的元素并与第一个数互换;然后从a数组中找出最小的元素并与最后一个数互换,而其余元素的位置不变。

c语言实验报告三答案(完整版)

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语言程序开发》实验报告和参考答案1实实验报告课程名称:C语言程序开发学生姓名:学生学号:专业班级:指导教师:实验日期:2目录实验一循环结构程序设计(一)求1+2+3+.......+100,1100nn(二)输出100~200之间的不能被3整除的数。

实验二数组及其应用(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

实验三函数及其应用(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。

问第4个学生岁数,他说比第3个学生大2岁。

问第3个学生,又说比第2个学生大2岁。

问第2个学生,说比第1个学生大2岁。

最后问第1个学生,他说是10岁。

请问第5个学生多大。

(二)用选择法对数组中10个整数按由小到大排序,一维数组名作函数参数。

实验四指针及其应用(一)将若干字符串按字母顺序(由小到大)输出。

(二)有a个学生,每个学生有b门课程的成绩。

要求在用户输入学生序号以后,能输出该学生的全部成绩。

用指针函数来实现。

3实验一循环结构程序设计实验题目:(一)求1+2+3+.......+100,1100nn(二)输出100~200之间的不能被3整除的数。

实验目的1.掌握循环语句的执行过程及用法2.初步掌握循环程序设计的基本技巧3.掌握用while语句,do-while语句和for语句实现循环的方法4.掌握多重循环的使用(一)实验步骤1.题目分析2.源程序代码3.运行结果(二)实验步骤:1.题目分析源程序代码3.运行结果4实验二数组及其应用实验题目:(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

实验目的1.掌握一维数组的定义及其元素的引用方法2.掌握利用一维数组实现一些常用算法的基本技巧3.掌握二维数组的定义及其应用4.掌握字符数组和字符串函数的使用5.掌握有关二维数组的基本编程技巧(一)实验步骤:1.题目分析2.源程序代码:3.运行结果(二)实验步骤:1.题目分析2.源程序代码3.运行结果5实验三函数及其应用实验题目:(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。

C实验报告答案

C实验报告答案

C程序设计初步一、实验目的(1) 熟悉C语言程序的运行环境(VC++ 。

(2) 掌握C语言程序的上机步骤,了解运行C程序的方法。

(3) 掌握C语言程序的书写格式和C语言程序的结构。

二、实验内容(均要求给出运行结果)1.程序改错题(1) 以下程序实现计算x×y的值并将结果输出。

请改正程序中的错误。

#include ""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 ""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**r;=======(答案2)=======printf("l=%f\n", l);2.程序填空题(1) 下面程序能对两个整型变量的值进行交换,请填空。

#include ""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实验报告6参考答案

C实验报告6参考答案
void mai n()
{
int a[2][3],b[2][3],c[2][3],i,j; for(i=0;i<2;i++) for(j=0;j<3; j++) SCa nf("%d",&a[i][j]);
for(i=0;i<2;i++)
for(j =0;j<3; j++)
SCa nf("%d",&b[i][j]);
《高级语言程序设计》实验报告
班级:
学号:姓名:成绩:
实验6数组程序设计
一、实验目的
1.掌握一维数组和二维数组的定义、赋值和输入输出的方法。
2.掌握字符数组和字符串函数的使用。
3.掌握与数组有关的算法。
二、实验内容
1.改错题(在程序中画出错误的语句,将修改后的语句完整地写在该语句的右边。)
(1)下列程―为指定的数组输入10个数据,并求这些数据之和。—序
#in clude<stdio.h>
#define N 4
#define M 4 main ()
int i,j,k,flag1,flag2,a[N][M],max,maxj;
for (i=0;i<N;i++)
for (j=0;j<M;j++)
SCan f("%d", &a[i][j]);
flag2=0;
printf("输入要删除字符: "); scanf("%c",&c); for(i=0,j=0;s[i]!='\0';i++) if (s[i]!=c)

(最新版)C语言实验报告(答案)

(最新版)C语言实验报告(答案)

《C程序设计》实验报告学期:教师姓名:教研室:实验1 熟悉C语言程序的运行环境,掌握数据描述1.1 实验目的1.了解在开发环境中如何编辑、编译、连接和运行一个C语言程序。

2.通过运行简单的C语言程序,初步了解C语言程序的结构特点。

3.掌握C语言数据类型的概念,学会使用C语言的相关运算符构成表达式。

1.2 实验预习1.熟悉Visual C++的启动和退出及Visual C++中的编辑、编译、连接和运行命令。

2.了解下列命令及函数:include<stdio.h>、main、printf、scanf。

3.熟悉Visual C++环境下每个菜单项的功能及相关命令对应的操作。

4.各种数据类型变量的定义形式及取值范围;熟悉下列标识符的含义。

int、short (int)、long (int)、unsigned (int)、float、double、char、void 5.各类运算符的优先级和结合规则。

6.常量与变量的区别和联系。

运行环境:1.双击桌面Visual C++快捷方式进入Visual C++,或通过执行“开始——>程序——> Microsoft Visual Studio 6.0——> Microsoft Visual C++6.0”或执行文件"C:\Program Files\Microsoft Visual Studio\COMMON\MSDev98\Bin\MSDEV.EXE"。

2.单击“文件”菜单的“新建”命令。

3.在打开的“新建”对话框中选择“文件”标签。

4.选择C++ Source File,在目录输入栏选择文件保存位置,然后在文件输入栏中输入文件名,扩展名为.c (例如first.c) ,单击确定按钮。

如图所示:5.在源窗口中输入源程序,如图所示。

应工具进行编译编译连接运行若程序有错则找到出错行修改程序。

7.连接:若程序没有语法错误,则可按功能键F7或执行“编译”菜单中的“构件”命令或通过工具栏中的相关工具(编译工具右边工具),进行连接生成可执行文件。

C语言实验报告答案

C语言实验报告答案

C语言实验报告答案二、编程题(参考答案)1、#include “stdio.h”void main(){ int Math=82,eng=78,comp=91,average;average=(Math+eng+comp)/3;printf(“Math=%d,eng=%d,comp=%d,average=%d\n”,Mat h,eng,comp,average);}2、#include “stdio.h”void main(){ int n=152,d1,d2,d3;d1=n%10;d2=(n/10)%10;d3=n/100;printf(“整数%d的个位数字是%d,十位数字是%d,百位数字是%d\n”,n,d1,d2,d3); }3、#include “stdio.h”void main(){ int n1,n2;printf(“Enter n1,n2:”);scanf(“%d,%d”,&n1,&n2);printf(“%d+%d=%d\n”,n1,n2,n1+n2);printf(“%d/%d=%d\n”,n1,n2,n1/n2);printf(“%d%%%d=%d\n”,n1,n2,n1%n2);}三、改错题原错误行(共三行):/********************************** found ********************************/#in clude “stdoi,h”/********************************** found ********************************/ printf(“%d=%d*%d\n”,x);/********************************** found ********************************/ printf(“%d*%d=%d\n”,y);改正后:#include “stdio.h”printf(“%d=%d*%d\n”,y,x,x);printf(“%d*%d=%d\n”,x,x,y);一、改错题1、原错误行(共三行):/********************************** found ********************************/ #include “stdoi,h”/********************************** found ********************************/ scanf(“%lf”,x);/********************************** found ********************************/ y=1/x改正后:#include “stdio.h”scanf(“%lf”,&x);y=1/x;2、原错误行(共两行):/********************************** found ********************************/ { int i,sum;/********************************** found ********************************/ for(i=1,i<=100,i++)改正后:{ int i,sum=0;for(i=1;i<=100;i++)二、编程题(本标题报告上漏印了)2、(因为报告上小题号就是从2开始的,没有第1题)#include “stdio.h”#include “math.h”void main(){ int a,b,c;float s,area,perimeter;printf(“请输入三角形的三边:”);scanf(“%d,%d,%d”,&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){ perimeter=a+b+c;s=perimeter/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“area =%.2f,perimeter=%.2f\n”,area,perimeter); }elseprintf(“不构成三角形”);}3、#include “stdio.h”void main(){ int i,m,n;float sum=0;printf(“Enter m:”);scanf(“%d”,&m);printf(“Enter n:”);scanf(“%d”,&n);for(i=m;i<=n;i++)sum=sum+1.0/i;printf(“sum=%.3f\n”,sum);}4、#include “stdio.h”void main(){ int i,n;float sum=0;printf(“Enter n:”);scanf(“%d”,&n);for(i=1;i<=n;i++)sum=sum+1.0/(2*i-1);printf(“sum=%.2f\n”,sum);}5、#include “stdio.h”void main(){ int i,m,n;long a=1,b=1;printf(“Enter m:”);scanf(“%d”,&m);printf(“Enter n:”);scanf(“%d”,&n);for(i=1;i<=m;i++)a=a*i;for(i=1;i<=n;i++)b=b*i;printf(“%d!+%d!=%ld\n”,m,n,a+b); }实验三一、改错题原错误行(共三行):/********************************** found ********************************/ double sum;/********************************** found ********************************/ for(i=1;i<10;i++)sum=sum+fact(i);p rintf(“1!+2!+…+10!=%f\n”,sum);}/********************************** found ********************************/ double fact(int n);改正后:double sum=0;for(i=1;i<=10;i++)double fact(int n)二、编程题1、int even(int n){ if(n%2==0)return 1;elsereturn 0;}2、int prime(int x){ int n;for(n=2;n<x;n++)< bdsfid="194" p=""></x;n++)<>if(x%n==0)return 0;if(x>=2)return 1;elsereturn 0;}3、#include “stdio.h”int fun1(int n){ if(n%2==0)return 1;elsereturn 0;}int fun2(int x){ int n;for(n=2;n<x;n++)< bdsfid="213" p=""></x;n++)<> if(x%n==0)return 0;if(x>=2)return 1;elsereturn 0;}void main(){ int i,m,n,a,b;printf(“Enter m:”);scanf(“%d”,&m);printf(“Enter n:”);scanf(“%d”,&n);a=fun1(m);b=fun2(n);if(a==1) printf(“%d是偶数\n”,m);else printf(“%d是奇数\n”,m);if(b==1) printf(“%d是素数\n”,n);else printf(“%d不是素数\n”,n); }实验四一、改错题1、原错误行(共两行):/********************************** found ********************************/ { int i,s;/********************************** found ********************************/ if(str[i]<=’0’||str[i]>=’9’)改正后:{ int i,s=0;if(str[i]>=’0’&&str[i]<=’9’)2、原错误行(共三行):/********************************** found ********************************/ { int i,j,n,x,a[n];/********************************** found ********************************/ a[i] =a[i+1];/********************************** found ********************************/ a[i]=x; /*插入改正后:{ int i,j,n,x,a[10];a[i+1] =a[i];a[j]=x;3、原错误行(共三行):/********************************** found ********************************/ max=str;/********************************** found ********************************/ if(max<str)< bdsfid="252"p=""></str)<>/********************************** found ********************************/ max=str;改正后:strcpy(max,str);if(strcmp(max,str)<0)strcpy(max,str);4、原错误行(共两行):/********************************** found ********************************/ void fun(int a[],int n) /*该函数求出a数组中n个元素奇数的个数*//********************************** found ********************************/ if(a[i]%2==0) m++;改正后:int fun(int a[],int n)if(a[i]%2!=0) m++;二、编程题1、#include “stdio.h”void main(){ int i,n,min,max,s1,s2,t,a[10];printf(“请输入数据个数n值:”);scanf(“%d”,&n);printf(“请输入这%d个数:”,n);for(i=0;i<n;i++)< bdsfid="273" p=""></n;i++)<>scanf(“%d”,&a[i]);min=a[0]; s1=0;max=a[n-1]; s2=n-1;for(i=0;i<n;i++)< bdsfid="278" p=""></n;i++)<>{ if(a[i]<="">if(a[i]>max) { max=a[i]; s2=i; }}if(s1!=0) { t=a[0];a[0]=a[s1];a[s1]=t; }if(s2!=n-1) { t=a[n-1];a[n-1]=a[s2];a[s2]=t; } for(i=0;i<n;i++)< bdsfid="285" p=""></n;i++)<>printf(“%d ”,a[i]);}2、int sum(int a[],int n){ int i,sum=0;for(i=0;i<n;i++)< bdsfid="292" p=""></n;i++)<>sum+=a[i];return sum;}实验五一、改错题1、原错误行(共两行):/********************************** found ********************************/ scanf(“%d”,&p++);/********************************** found ********************************/ x[0]=x[k];改正后:scanf(“%d”,p++);x[0]=k;二、编程题1、int search(int *a,int n,int x){ int i;for(i=0;i<n;i++)< bdsfid="309" p=""></n;i++)<>if(a[i]==x) return i;return -1;}2、int fun(char *s){ int i,j,n;n=strlen(s);for(i=0,j=n-1;i<="" bdsfid="318" p="">if(s[i]!=s[j])return 0;return 1;}3、此题为选作题#include “stdio.h”void sort(int *a,int n){ int i,j,k,t;for(i=0;i<n-1;i++)< bdsfid="329" p=""></n-1;i++)<> { k=i;for(j=i+1;j<n;j++)< bdsfid="332" p=""></n;j++)<> if(a[j]if(k!=i){ t=a[i];a[i]=a[k];a[k]=t; }}}main(){ int a[10],i,n;printf(“请输入n值:”);scanf(“%d”,&n);printf(“请输入这%d个元素值:”,n);for(i=0;i<n;i++)< bdsfid="345" p=""></n;i++)<>scanf(“%d”,&a[i]);sort(a,n);for(i=0;i<n;i++)< bdsfid="349" p=""></n;i++)<>printf("%d ",a[i]);printf("\n");}一、改错题(原错误行共两行):/********************************** found ********************************/ { scanf(“%d”,&score[j]);/********************************** found ********************************/ printf("总分最高的学生是:%s,%d\n", name, sum);改正后:{ scanf(“%d”,&a[i].score[j]);printf("总分最高的学生是:%s,%d\n", a[k].name, a[k].sum);二、编程题1、#include "stdio.h"typedef struct student /*定义结构体类型*/{ long num;char name[9];int score[3];float aver;}STU;void main(){ STU a[10];int i,j,n,s=0;printf("输入n:");scanf("%d",&n);for(i=0;i<n;i++)< bdsfid="374" p=""></n;i++)<>{ printf("输入第%d个学生的学号、姓名和3门课成绩:",i+1);scanf("%ld",&a[i].num);scanf("%s",a[i].name);s=0;for(j=0;j<3;j++){ scanf("%d",&a[i].score[j]); s+=a[i].score[j]; }a[i].aver=s/3.0;}for(i=0;i<n;i++)< bdsfid="384" p=""></n;i++)<>printf("%s,%.2f分\n",a[i].name,a[i].aver);}三、填空题p->next= head ;head= p ;}p=head ;一、改错题(原错误行共两行):/********************************** found ********************************/ FILE fp;/********************************** found ********************************/if((fp=fopen(“a.txt”,“w”))!=NULL)改正后:FILE *fp;if((fp=fopen(“a.txt”,“w”))==NULL)二、编程题1、#include "stdio.h"#include "string.h"void main(){ FILE *fp;char a[10];if((fp=fopen("test.txt","w"))==NULL) { printf("error");exit(0);}scanf("%s",a);strupr(a);fputs(a,fp);fclose(fp);}2、#include "stdio.h"#include "string.h"void main(){ FILE *fp;char a;if((fp=fopen("test.txt","r"))==NULL) { printf("error");exit(0);}while(!feof(fp)){ a=fgetc(fp);printf("%c",a);}fclose(fp);}3、#include "stdio.h"#include "stdlib.h"typedef struct student{ long num;char name[9];int score[3];float aver;}STU;void main(){ FILE *fp;int i,j,n,s;STU a;scanf("%d",&n);if ((fp=fopen("stud.dat","wb"))==NULL){ printf("File connot be opened\n");exit(0);}for(i=1;i<=n;i++){ scanf("%ld",&a.num);scanf("%s",/doc/204579141.html,); s=0;for(j=0;j<3;j++){ scanf("%d",&a.score[j]); s+=a.score[j]; }a.aver=s/3.0;fwrite(&a,sizeof(STU),1,fp);}fclose(fp);}4、#include "stdio.h"#include "stdlib.h"typedef struct student{ long num;char name[9];int score[3];float aver;}STU;void main(){ FILE *fp;int i,j,n,s;STU a;if ((fp=fopen("stud.dat","rb"))==NULL){ printf("File connot be opened\n");exit(0);}while(fread(&a,sizeof(STU),1,fp)!=NULL){ printf("%ld\t%s\t",a.num,/doc/204579141. html,);printf("%d\t%d\t%d\t%.2f\n",a.score[0],a.score[1],a.score[2], a.aver);}fclose(fp);}。

C语言实验报告_答案

C语言实验报告_答案

《C语言程序设计》实验指导学院:信息科学与技术学院专业:计算机通信学期:2011~2012学年教师:目录实验1 熟悉C语言程序开发环境............................... 错误!未定义书签。

1.1 实验目的 ......................................................................................... 错误!未定义书签。

1.2 实验预习 ......................................................................................... 错误!未定义书签。

1.3 实验任务 ......................................................................................... 错误!未定义书签。

1.4 实验报告 ......................................................................................... 错误!未定义书签。

实验2 数据描述............................................. 错误!未定义书签。

2.1 实验目的 ......................................................................................... 错误!未定义书签。

2.2 实验预习 ......................................................................................... 错误!未定义书签。

C语言实验报告第章答案(二)

C语言实验报告第章答案(二)

C语言实验报告第章答案(二)C语言实验报告第一章答案:1. 什么是C语言?C语言是一种高级编程语言,由贝尔实验室的Dennis Ritchie于20世纪70年代初开发。

C语言被广泛用于系统编程、嵌入式系统、驱动程序和应用程序的开发。

2. C语言的特点是什么?C语言具有以下特点:- 简洁:C语言的语法简单明了,易于学习和使用。

- 高效:C语言的执行速度快,占用内存少。

- 通用:C语言可以用于开发各种类型的应用程序。

- 可移植性强:C语言编写的程序可以在不同的操作系统和硬件平台上运行。

3. C语言的基本数据类型有哪些?C语言的基本数据类型包括:- 整型:int、short、long、long long。

- 浮点型:float、double、long double。

- 字符型:char。

4. C语言的运算符有哪些?C语言的运算符包括:- 算术运算符:+、-、*、/、%。

- 关系运算符:>、<、>=、<=、==、!=。

- 逻辑运算符:&&、||、!。

- 位运算符:&、|、^、~、<<、>>。

- 赋值运算符:=、+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=。

- 条件运算符:? : 。

5. C语言的控制语句有哪些?C语言的控制语句包括:- 顺序结构:按照代码顺序执行。

- 分支结构:if、switch。

- 循环结构:while、do-while、for。

- 跳转结构:break、continue、goto。

6. C语言的函数是什么?C语言的函数是一段可重复使用的代码块,用于执行特定的任务。

函数可以接受参数和返回值,使程序更加灵活和模块化。

7. C语言的数组是什么?C语言的数组是一组相同类型的数据元素,按照一定的顺序排列。

数组可以根据下标访问其中的元素,使程序更加灵活和高效。

8. C语言的指针是什么?C语言的指针是一种特殊的变量,用于存储内存地址。

C语言程序设计实验报告参考答案

C语言程序设计实验报告参考答案
#include<stdio.h>
main()
{
inta,b,c,s;
scanf("%d%d%d",&a,&b,&c);
s=a+b+c;
printf("%d=%d+%d+%d\n",s,a,b,c);/*输出 s=a+b+c*/
printf("%d+%d+%d=%d\n",a,b,c,s);/*输出 a+b+c=s*/
长沙理工大学 C 语言实验报告参考答案
实验一熟悉 C 语言程序开发环境及数据描述
四、程序清单
1.编写程序实现在屏幕上显示以下结果: Thedressislong Theshoesarebig Thetrousersareblack 答案: #include<stdio.h> main() {
printf("Thedressislong\n"); printf("Theshoesarebig\n"); printf("Thetrousersareblack\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include<stdio.h> main() {
printf("nislessthan0\n"); elseif(n==0)
printf("nisequalto0\n"); else
printf("nisgreater0\n"); }
六、调试和测试结果
2(1)Enteraandx:56 a=5,f(6)=0.24

C语言实验报告参考答案(原)

C语言实验报告参考答案(原)

y a 5 sin( ax ) ln(a x) e ax
#include<stdio.h> #include<math.h> int main() {
float a,x,y; scanf("%f%f",&a,&x); y = pow(a,5) + sin(a*x) + exp(a*x) + log(a+x); printf("y=%f\n",y); return 0; }
六、调试和测试结果
2(1) 输入: 2 输出:the number is positve 输入: 0 输出:the number is positve 输入: -2 输出:the number is negetive 2(2) 输入: 3 2 输出:c=6 输入: 2 3 输出:c=0 2(3) 输入:3 2 1 输出:the max number is:3 输入:2 3 1 输出:the max number is:3 输入:1 2 3 输出:the max number is:3
实验四 循环结构程序设计 四、设计流程(算法描述) (请写出上机内容 2 的算法描述) 首先求出每一个给定数的所有因子和,然后从 2 到 5000 循环,那一个数
x 与因子之和相等,就是完数。 五、程序清单
1.编写程序:求 1+2+3+…+100 和 1 +2 +3 +…+100 。 #include<stdio.h> #include<math.h> int main() { int i,j,sum; sum = 0; for (i=1;i<=100;i++) sum += i; printf("the sum is:%d\n",sum); sum =0; for(i=1;i<=100;i++) { j=pow(i,2); sum +=j; } printf("the square sum is:%d\n",sum); return 0; } 2.一个数如果恰好等于它的因子之和,这个数就称为“完数” ,编写程序找出 2~5000 中的所有完数。 #include<stdio.h> #include<math.h> main() { int i,j,sum=0;

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。

2024C语言实验报告参考答案

2024C语言实验报告参考答案

2024C语言实验报告参考答案2024C语言实验报告参考答案实验名称:C语言实现学生信息管理系统实验目的:1、掌握C语言的基本语法和编程规范2、熟悉控制台界面的设计和输出3、理解并实现简单的用户交互和数据操作实验内容:本次实验要求用C语言实现一个简单的学生信息管理系统。

系统需要实现以下功能:1、添加学生信息2、查询学生信息3、修改学生信息4、删除学生信息5、显示所有学生信息实验步骤:步骤1:打开Visual Studio,创建一个新的控制台应用程序项目。

步骤2:在项目中添加一个名为“student_management_system.c”的源文件,并在这个文件中编写程序代码。

步骤3:在代码中定义一个结构体来表示学生信息,包括学号、姓名、年龄等信息。

步骤4:在主函数中创建一个学生信息管理系统,并实现以下功能:1、添加学生信息:提供一个用户界面,让用户输入学生信息,并将信息保存到一个数组中。

2、查询学生信息:提供一个用户界面,让用户输入要查询的学号,并在数组中查找对应的学生的信息并输出。

3、修改学生信息:提供一个用户界面,让用户输入要修改的学号和新的学生信息,并在数组中修改对应学生的信息。

4、删除学生信息:提供一个用户界面,让用户输入要删除的学号,并将该学生信息从数组中删除。

5、显示所有学生信息:提供一个用户界面,将所有学生的信息输出到控制台。

步骤5:在代码中添加必要的输入输出和错误处理代码,确保程序的正确性和健壮性。

步骤6:编译并运行程序,测试每个功能的正确性。

实验结果:本次实验成功实现了一个简单的学生信息管理系统。

通过控制台界面,用户可以添加、查询、修改、删除和显示学生信息。

程序运行稳定,错误处理效果良好。

实验总结:本次实验让我更加熟悉了C语言的基本语法和编程规范,同时也让我了解了如何实现简单的用户交互和数据操作。

通过这次实验,我不仅提高了自己的编程技能,还对控制台界面的设计和输出有了更深入的理解。

C实验报告答案完整版

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,查看记录运⾏结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言实验报告参考答案HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】长沙理工大学2010C语言实验报告参考答案实验一熟悉C语言程序开发环境及数据描述四、程序清单1.编写程序实现在屏幕上显示以下结果:The dress is longThe shoes are bigThe trousers are black答案:#include<>main(){printf("The dress is long\n");printf("The shoes are big\n");printf("The trousers are black\n");}2.改错题(将正确程序写在指定位置)正确的程序为:#include <>main(){printf("商品名称价格\n");printf("TCL电视机¥7600\n");printf("美的空调¥2000\n");printf("SunRose键盘¥\n");}2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。

答案:#include<>main(){int a,b,c,x,y;a=150;b=20;c=45;x=a/b;y=a/c;printf("a/b的商=%d\n",x);printf("a/c的商=%d\n",y);x=a%b;y=a%c;printf("a/b的余数=%d\n",x);printf("a/c的余数=%d\n",y);}4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。

(提示:用条件运算符)答案:#include<>main(){int a,b,c;a=0;b=-10;c= (a>b) b:a;printf("c = %d\n",c);}五、调试和测试结果1.编译、连接无错,运行后屏幕上显示以下结果:The dress is longThe shoes are bigThe trousers are black3、编译、连接无错,运行后屏幕上显示以下结果:a/b的商=7a/c的商=3a/b的余数=10a/c的余数=154. 编译、连接无错,运行后屏幕上显示以下结果:c =-10实验二顺序结构程序设计四、程序清单1.键盘输入与屏幕输出练习问题1 D 。

问题2 改printf("%c,%c,%d\n",a,b,c);这条语句改成:printf("%c %c %d\n",a,b,c);问题3 改scanf("%c%c%d",&a,&b,&c);这条语句改为:scanf("%c,%c,%d",&a,&b,&c);问题4 改printf("%c,%c,%d\n",a,b,c);这条语句改成:printf("\’%c\’ \’ %c\’ %d\n",a,b,c);2(1)从键盘输入两个八进制数,计算两数之和并分别用十进制和十六进制数形式输出。

#include <>int main(){int a,b,c;printf("Enter a and b:");scanf("%o%o",&a,&b);c = a + b;printf("d:%d\n",c);printf("x:%x\n",c);return 0;}2(2)编写程序:从键盘输入两个实数a和x,按公式计算并输出y 的值:#include<>#include<>int main(){float a,x,y;scanf("%f%f",&a,&x);y = pow(a,5) + sin(a*x) + exp(a*x) + log(a+x);printf("y=%f\n",y);return 0;}3.改错题正确的程序为:#include <>main(){int a,b,c,s;scanf("%d%d%d",&a,&b,&c);s=a+b+c;printf("%d=%d+%d+%d\n",s,a,b,c); /*输出s=a+b+c*/printf("%d+%d+%d=%d\n",a,b,c,s); /*输出a+b+c=s*/}五、调试和测试结果2(1) 输入: 12 14输出:261a2(2) 输入:1 0输出:实验三选择结构程序设计四、设计流程(算法描述)(请写出上机内容2(2)题的算法描述)主要是两两比较,然后得出最大的数五、程序清单2(1) 输入整数x和a,计算并输出下列分段函数f(x)的值(保留2位小数),请调用log函数求自然对数,调用fabs函数求绝对值。

程序为:#include <>#include <>main(){int x,a;double y;printf("Enter a and x:");scanf("%d%d",&a,&x);if(fabs(x)!=a)y=log(fabs((a+x)/(a-x)))/(2*a);elsey=0;printf("a=%d,f(%d)=%.2f\n",a,x,y); }(2)输入a、b、c三个整数,输出最大数。

#include<>main(){int a,b,c,x;scanf("%d%d%d",&a,&b,&c);if(a>=b)x=a;elsex=b;if (x<c)x=c;printf("the max number is:%d\n",x);return 0;}3.改错题正确程序为:#include <>main(){double n;printf("Enter n:");scanf("%lf",&n);if(n<0)printf("n is less than 0\n");else if(n==0)printf("n is equal to 0\n");elseprintf("n is greater 0\n");}六、调试和测试结果2(1) Enter a and x:5 6a=5,f(6)=Enter a and x:5 5a=5,f(5)=2(2) 输入:3 2 1 输出:the max number is:3输入:2 3 1 输出:the max number is:3输入:1 2 3 输出:the max number is:3实验四循环结构程序设计四、设计流程(算法描述)(请写出上机内容2的算法描述)首先求出每一个给定数的所有因子和,然后从2到5000循环,那一个数x与因子之和相等,就是完数。

五、程序清单1.编写程序:求1+2+3+...+100和12+22+33+ (1002)#include<>#include<>int main(){int i,j,sum;sum = 0;for (i=1;i<=100;i++)sum += i;printf("the sum is:%d\n",sum);sum =0;for(i=1;i<=100;i++){j=pow(i,2);sum +=j;}printf("the square sum is:%d\n",sum);return 0;}2.一个数如果恰好等于它的因子之和,这个数就称为“完数”,编写程序找出2~5000中的所有完数。

#include<>#include<>main(){int i,j,sum=0;for(i=2;i<=5000;i++) 改错题正确的程序为:#include <>main(){int n=1;int find=0;while(!find){if(n%5==1 && n%6==5 && n%7==4 && n%11==10){printf("n=%d\n", n);find =1;}n++;}}六、调试和测试结果1:结果:the sum is:5050the square sum is:3383502:结果:6 28 496实验五函数和预处理命令四、设计流程(算法描述)(请写出上机内容1的算法描述)利用循环将m乘n次五、程序清单1.编写自定义函数long power(int m,int n),计算n m的值。

利用此函数编程序实现:从键盘输入两个整数m和n,计算出n m的值。

#include<>long power(int m,int n)3、输出结果为:实验六数组四、设计流程(算法描述)(请写出上机内容1的算法描述)设置两个变量分别指示头和尾。

第一个和最后一个元素值互换,然后头和尾变量向里移动,最终到两变量相遇为止。

五、程序清单1.编写程序:从键盘输入一串整数保存到数组中,调用函数antitone()将数组反序输出。

自定义函数void antitone(int a[],int n)实现将数组中的n个数据按逆序存放。

void antitone(int a[],int n){int i,j;int k;i=0;j=n-1;while(i<j){k=a[i];a[i]=a[j];a[j]=k;i +=1;j -=1;}}2.已知某数列的前两项为2和3,其后每一项为其前两项之积。

编程实现:从键盘输入一个整数x,判断并输出x最接近数列的第几项?#include<>#include<>void Mad(int a[],int n){int i;a[0]=2;a[1]=3;for(i=2;i<n;i++){a[i] = a[i-1] * a[i-2];}}int main(void){int a[100],x,k1,k2;int i;将xx所指的存储{*y=(int)x;*z=x - *y;}六、调试和测试结果测试结果正确实验十结构体四、程序清单(请写出上机内容1的源程序和上机内容2中的函数)1、上机内容1的源程序#include<>#include <>#define FORMAT "%0d\t%s\t%d\t%c\n"struct student{int num;char name[20];i nt age;char sex;};main(){ void input(struct student stu[] );void stat(struct student stu[]);struct student stu[4];int i;input(stu);for(i=0;i<4;i++){ printf(FORMAT,stu[i].num,stu[i].name,stu[i].age,stu[i].sex);}stat(stu);}void input(struct student stu[]){int i;for(i=0;i<4;i++){scanf("%d",&stu[i].num);getchar();scanf("%s",&stu[i].name);getchar();scanf("%d",&stu[i].age);getchar();scanf("%c",&stu[i].sex);getchar();}}void stat(struct student stu[]){int i,c=0,boy=0,girl=0;for(i=0;i<4;i++){if(stu[i].age<18) c+=1;if(stu[i].sex=='m') boy++;else girl++;}printf("boy\tgirl\tage<18\n");printf("%d\t%d\t%d\n",boy,girl,c);}2、void fun(struct STREC *a){ int i;a->ave=0;for(i=0;i<N;i++)a->ave+=a->s[i];a->ave/=N;}3、改错题正确的程序为:将 printf("%5d %-20s %2c %4d\n",*, *,, ;改为:printf("%5d %-20s %2c %4d\n", p->.num, p->name, p->sex, p->age);实验十一共用体、位运算和文件四、程序清单(请写出上机内容2中的程序源代码)(1)求100以内能同时被3和5整除的自然数,分别将它们输出到显示器屏幕和文件中。

相关文档
最新文档