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

合集下载

C语言实验报告

C语言实验报告

C语言程序设计(B)(2010-2011-2)实验报告教学班级:学号:姓名:课程教师:王华金实验辅导教师:王华金P123--五、1、编写函数,找出5*5数组对角线上元素的最小值,并在主函数中调用它。

要求元素的值通过键盘输入。

实验前的源程序:#include<stdio.h>int func(int p[5][5]){int i,j,min;min=p[0][0];for(i=0;i<5;i++)for(j=0;j<5;j++)if(i==j)if(p[i][j]<min) min=p[i][j];return min;}void main(){int i,j,m,a[5][5];printf("请输入a[5][5]:\n");for(i=0;i<5;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);printf("a[5][5]:\n");for(i=0;i<5;i++){for(j=0;j<5;j++)printf("%4d",a[i][j]);printf("\n");}m=func(a);printf("主对角线上元素的最小值为:%d\n",m);}实验错误报告:[Error] C:\Users\陶鑫\Documents\C-Free\Temp\未命名4.cpp:13: error: `main' must return `int'[Warning] C:\Users\陶鑫\Documents\C-Free\Temp\未命名 4.cpp:27:2: warning: no newline at end of file构建中止未命名4: 1 个错误, 1 个警告实验后的源程序:#include<stdio.h>int func(int p[5][5]){int i,j,min;min=p[0][0];for(i=0;i<5;i++)for(j=0;j<5;j++)if(i==j)if(p[i][j]<min) min=p[i][j];return min;}main(){int i,j,m,a[5][5];printf("请输入a[5][5]:\n");for(i=0;i<5;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);printf("a[5][5]:\n");for(i=0;i<5;i++){for(j=0;j<5;j++)printf("%4d",a[i][j]);printf("\n");}m=func(a);printf("主对角线上元素的最小值为:%d\n",m);}P123--五、3、编写从整形数组中检索给定数值的函数,若找到则输出该数值在数组中的位置。

c语言实验报告(附答案版)

c语言实验报告(附答案版)
二、实验目的
1、熟练掌握while,do—while,for语句实现循环的方法,包括如何正确地设定循环条件,如何控制循环的次数。
2、掌握break语句与continue语句的使用方法。
3、熟悉循环的嵌套以及从循环体内退出循环的处理。
4、理解什么是循环程序结构。
三、实验指导
为了达到最佳的实验效果,以下提供几条适于模块化编程的指导意见,可供参考。
实验1简单判定性问题求解
一、实验学时
完成本实验需4学时。
二、实验目的
1、阅读程序题
(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋值的方法;
(2)掌握不同的类型数据之间赋值的规律;
(3)掌握数据在内存中的存储方式;
(4)学会输入、输出函数的基本格式和使用方法;
(5)学会使用有关算术运算符、逻辑运算符、关系运算符,以及包含这些运算符的表达式。
1)解题分析:解决问题的关键算法为求圆的面积并按要求输出。循环求圆的面积area,若area<40,则用continue语句提前结束本次循环并开始新一轮循环,若area>90,则用break语句跳出循环。
2)算法流程图如图2-1:
3)综合分析
需要从循环体中提前跳出循环,或者在满足某种条件下,不执行循环中剩下的语句而立即从头开始新的一轮循环,这时就要用到break和continue语句。
(1)将一个百分制成绩转换成等级制成绩,百分制与等级制的对应关系如下表:
百分制
90-100
80-89
70-79
60-69
<60
等级制





具体要求如下:
1)用switch语句实现该功能;

计算机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个整数。

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

2010C语言实验报告参考答案
The trousers are black
3、编译、连接无错,运行后屏幕上显示以下结果:
a/b的商=7
a/c的商=3
a/b的余数=10
a/c的余数=15
4.编译、连接无错,运行后屏幕上显示以下结果:
c =-10
实验二顺序结构程序设计
四、程序清单
1
问题1D。
问题2改printf("%c,%c,%d\n",a,b,c);这条语句
答案:
#include<stdio.h>
main()
{
int a,b,c;
a=0;
b=-10;
c= (a>b) ? b:a;
printf("c = %d\n",c);
}
五、调试和测试结果
1.编译、连接无错,运行后屏幕上显示以下结果:
The dress is long
The shoes are big
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。(提示:用条件运算符)
{
int a,b,c,x;
scanf("%d%d%d",&a,&b,&c);
if(a>=b)
x=a;
else

2010C语言实验报告参考标准答案

2010C语言实验报告参考标准答案

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

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

2010 VC++ 实验报告 包括全部答案

2010 VC++ 实验报告 包括全部答案



+



3
3
4
实验__2__实验报告
教学班级:14 学生学号:20091426 学生姓名:余行健 实验日期:3/31 实验地点:7507(机房) 指导教师签名:__________ 实验成绩:___________
一、实验目的
1.掌握对一般数据的输入和输出格式控制方法; 2.掌握对实型数据输出形式的设置和小数位数的控制方法; 3.了解数据输入的相关注意事项。
2. 某公司进行产品销售,既零售也批发,零售的价格与批发的价格不同,购买产品数量 的多与少其价格也不同。具体标准见下表:
批发商
数量(个)
单位价格(元/个)
50~200
10
200 以上
8
零售商
数量(个)
单位价格(元/个)
1~20
18
20~40
15
40~50
12
三、实验结果(源程序 + 注释)
8
实验__5__实验报告
#include <iostream> using namespace std; void arrays(int [],int [],int, int ); int main() {
int a[5]={12,3,34,7,23}; int b[5]={26,27,6,8,10}; cout<<"数组 a 的元素是:"<<endl; for(int i=0;i<5;i++) {cout<<a[i]<<" ";} cout<<endl<<"数组 b 的元素是:"<<endl; for(i=0;i<5;i++) { cout<<b[i]<<" ";}

2010级用高级语言程序设计实验报告quan

2010级用高级语言程序设计实验报告quan

2010级用高级语言程序设计实验报告quan《高级语言程序设计》实验报告实验室名称:班级:学生姓名:学号:指导教师:学期:2009-2010学年上学期实验1 C 程序设计入门一、实验目的1、熟悉C 编程环境2、掌握简单C 程序的编辑、编译和运行方法二、知识要点1、用printf 函数输出指定字符串(转义字符的使用)2、计算并输出表达式的值3、程序书写风格三、实验预习(要求做实验前完成)1、若要在屏幕输出信息,需要用到库函数:2、输出的信息若需换行,需要用到换行符:3、按C 语言语法规则写出下列算法的表达式(1)26乘以49,再除以17:(2)求29除以6的余数:四、实验内容 (要求提供:① 算法描述或流程图② 源程序 )1、编程输出“我的信息”,包括姓名、性别、专业名称和课程名称,格式为:姓名:性别:专业名称:课程名称:2、编程求以下表达式的值:1491516232+-+ 3、编程计算并输出16.8与27.5两个数的和、差、积、商,要求输出界面为:和是:差是:积是:商是:五、实验结果要求写出运行界面并输出运行结果实验2─3 数据类型、常量变量及顺序结构程序设计一、实验目的1、掌握常量和变量的概念以及使用1、掌握变量的定义、赋值与引用2、掌握顺序结构相关语句的使用3、掌握scanf和printf输入、输出数据的方法二、知识要点1、变量与常量概念2、数据输入、输出的格式控制3、标准库函数与头文件的使用4、算术运算与赋值运算5、数据类型转换三、实验预习(要求做实验前完成)1、假如要定义两个整型变量x和y,语句int x y;错在哪里?2、把a的值赋给b,其语句是:3、如果使用语句scanf(“%d%d”,&x,&y);输入8和9两个整数,其输入格式应该是:4、如果使用语句scanf(“%d,%d”,&x,&y);输入8和9两个整数,其输入格式应该是:5、程序中如果要用到库函数sin,则应包含头文件:6、假设x是一个实型变量,语句printf(“%d”,x);错在哪里?7、语句x=10; y=20; printf(“y=%d, x= %d”,x,y); 能否交换x和y的值?四、实验内容(要求提供:①算法描述或流程图②源程序)1、输入两个人的身高,计算并输出他们的平均身高。

《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语言实验报告(答案)

(最新版)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. 熟练掌握用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、#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程序设计》实验报告班级:学号:学期:2009--2010学年第二学期姓名:《C程序设计》实验报告学期:2009--2010学年第二学期教师姓名:教研室:软件工程教研室实验1 熟悉C语言程序的运行环境,掌握数据描述1.1 实验目的1.了解在开发环境中如何编辑、编译、连接和运行一个C语言程序。

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

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

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

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

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

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

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

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

4.熟悉Turbo C环境下的块操作。

表1-4 基本光标命令功能操作表表1-5 快速光标移动命令功能操作表表1-6 插入与删除命令功能操作表表1-7 块操作命令功能操作表表1-8 其他命令功能操作表1.3 实验任务1.输入下列程序,记录在Turbo c 下的操作方法。

#include <stdio.h>main(){printf(“I am a student!”);}环境的启动操作:我的电脑—磁盘(各机房磁盘目录有所不同)—Turbo C文件夹—tc。

Exe 。

程序的编译方法:快捷键是 Alt+F9 ;菜单操作是Compile—compile to OBJ程序的保存方法:快捷键是 F2 ;菜单操作是 File--Save程序的运行方法:快捷键是Ctrl+F9;菜单操作是 Run运行结果的查看:快捷键是 Alt+F5 ;菜单操作是 Run—User Screen环境的退出操作:快捷键是 Alt+X ;菜单操作是 File--Quit4.现欲将编好的上例程序以文件名my.c保存至当前目录下,请阐述方法;当重新进入TC对其进行简单修改后欲将其另存至C盘SY文件夹下(SY文件夹请自行创建),叙述方法。

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语言实验报告

C语言程序设计(B)(2010-2011-2)实验报告2教学班级:学号:姓名:课程教师:实验辅导教师:一、做一个“杨辉三角”实验前的源程序:/*杨辉三角*/#include <stdio.h>void fun(int Y[][]){int i,j,k;for(i=0;i<12;i++){Y[i][0]=1;Y[i][i]=1;}for(i=2;i<12;i++){for(j=1;j<i;j++){Y[i][j]=Y[i-1][j-1]+Y[i-1][j];}}}main(){int i,j,k;int Y[12][12];fun (Y);for(i=0;i<12;i++){for(k=1;k<=11-i;k++)printf(" ");for(j=0;j<=i;j++){printf("%6d",Y[i][j]);}printf("\n");}}实验错误报告:--------------------配置: mingw2.95 - CUI Debug, 编译器类型: MinGW (Old)--------------------检查文件依赖性...正在编译D:\Program Files\C-Free Standard\samples\杨辉三角.cpp...[Error] D:\Program Files\C-Free Standard\samples\杨辉三角.cpp:4: declaration of `Y' asmultidimensional array[Error] D:\Program Files\C-Free Standard\samples\杨辉三角.cpp:4: must have bounds for alldimensions except the first[Error] D:\Program Files\C-Free Standard\samples\杨辉三角.cpp:8: `Y' undeclared (first use thisfunction)[Error] D:\Program Files\C-Free Standard\samples\杨辉三角.cpp:8: (Each undeclared identifier isreported only once[Error] D:\Program Files\C-Free Standard\samples\杨辉三角.cpp:8: for each function it appearsin.)[Error] D:\Program Files\C-Free Standard\samples\杨辉三角.cpp:4: too many arguments tofunction `void fun()'[Error] D:\Program Files\C-Free Standard\samples\杨辉三角.cpp:23: at this point in file构建中止杨辉三角: 7 个错误, 0 个警告实验后的源程序:/*杨辉三角*/#include <stdio.h>void fun(int Y[12][12]){int i,j,k;for(i=0;i<12;i++){Y[i][0]=1;Y[i][i]=1;}for(i=2;i<12;i++){for(j=1;j<i;j++){Y[i][j]=Y[i-1][j-1]+Y[i-1][j];}}}main(){int i,j,k;int Y[12][12];fun (Y);for(i=0;i<12;i++){for(k=1;k<=11-i;k++)printf(" ");for(j=0;j<=i;j++){printf("%6d",Y[i][j]);}printf("\n");}}二、用函数的方法3*3矩阵置换实验前的源程序:/*用函数的方法3*3矩阵置换*/#include "stdio.h"main(){void zhihuan();zhihuan();}void zhihuan(){int a[3][3],b[3][3];int i,j;printf("请输入一个3*3的矩阵:");printf("\n");for(i=0 ;i<3;i++){for(j=0;j<3;j++)scanf("%d",&a[i][j]);}printf("您所输入的矩阵是:\n");for(i=0 ;i<3;i++){for(j=0;j<3;j++){printf(" %d ",a[i][j]);b[j][i]=a[i][j];}printf("\n");}printf("\n转置后的矩阵排列为:\n");for(i=0 i<3;i++){for(j=0;j<3;j++){printf(" %d ",b[i][j]);}printf("\n");}}实验错误报告:[Error] D:\Program Files\C-Free Standard\temp\未命名3.cpp:30: parse error before `<' [Error] D:\Program Files\C-Free Standard\temp\未命名3.cpp:30: parse error before `)' [Error] D:\Program Files\C-Free Standard\temp\未命名3.cpp:32: parse error before `;' [Error] D:\Program Files\C-Free Standard\temp\未命名3.cpp:38: parse error before `}'构建中止未命名3: 4 个错误, 0 个警告实验后的源程序:/*用函数的方法3*3矩阵置换*/#include "stdio.h"main(){void zhihuan();zhihuan();}void zhihuan(){int a[3][3],b[3][3];int i,j;printf("请输入一个3*3的矩阵:");printf("\n");for(i=0 ;i<3;i++){for(j=0;j<3;j++)scanf("%d",&a[i][j]);}printf("您所输入的矩阵是:\n");for(i=0 ;i<3;i++){for(j=0;j<3;j++){printf(" %d ",a[i][j]);b[j][i]=a[i][j];}printf("\n");}printf("\n转置后的矩阵排列为:\n");for(i=0 ;i<3;i++){for(j=0;j<3;j++){printf(" %d ",b[i][j]);}printf("\n");}}三、用函数输入一个字符串按反序存放实验前的源程序:/*输入一个字符串按反序存放*/#include <stdio.h>#include "string.h"void fun(char str){int length,i;char temp;length=strlen(str);length=strlen(str);for(i=0;i<=length/2;i++){temp=str[i];str[i]=str[length-i-1];str[length-i-1]=temp;}}main(){int i,length;char str[89],temp;printf(" 请输入一串字符:\n");gets(str);fun(str);printf(" 字符的逆序排列为:\n ");puts(str);}实验错误报告:[Error] D:\Program Files\C-Free Standard\samples\输入一个字符串按反序存放.cpp:8: passing `char' to argument 1 of `strlen(const char *)' lacks a cast [Error] D:\Program Files\C-Free Standard\samples\输入一个字符串按反序存放.cpp:10: passing `char' to argument 1 of `strlen(const char *)' lacks a cast[Error] D:\Program Files\C-Free Standard\samples\输入一个字符串按反序存放.cpp:13: invalid types `char[int]' for array subscript [Error] D:\Program Files\C-Free Standard\samples\输入一个字符串按反序存放.cpp:14: invalid types `char[int]' for array subscript [Error] D:\Program Files\C-Free Standard\samples\输入一个字符串按反序存放.cpp:14: invalid types `char[int]' for array subscript [Error] D:\Program Files\C-Free Standard\samples\输入一个字符串按反序存放.cpp:15: invalid types `char[int]' for array subscript [Error] D:\Program Files\C-Free Standard\samples\输入一个字符串按反序存放.cpp:24: passing `char *' to argument 1 of `fun(char)' lacks a cast构建中止输入一个字符串按反序存放: 7 个错误, 0 个警告实验后的源程序:/*输入一个字符串按反序存放*/#include <stdio.h>#include "string.h"void fun(char str[]){int length,i;char temp;length=strlen(str);length=strlen(str);for(i=0;i<=length/2;i++){temp=str[i];str[i]=str[length-i-1];str[length-i-1]=temp;}}main(){int i,length;char str[89],temp;printf(" 请输入一串字符:\n");gets(str);fun(str);printf(" 字符的逆序排列为:\n ");puts(str);}四、用指针的方法将3*3矩阵转置实验前的源程序:/*用指针的方法,将一个3*3整形矩阵转置*/ #include "stdio.h"void Transfer(int (*pointer)[3]){int t;int i, j;for(i=1;i<3;i++){for(j=0;j<i;j++){t=*(*(pointer+j)+i);*(*(pointer+j)+i)=(*(pointer+i)+j);*(*(pointer+i)+j)=t;}}}main(){int i,j;int a[3][3];printf("请输入一个3*3的整形矩阵:\n");for(i=0;i<3;i++){for(j=0;j<3;j++){scanf("%d",&a[i][j]);}}printf("您所输入的3*3矩阵是:\n");for(i = 0;i<3;i++){for(j=0;j<3;j++){printf(" %d ",a[i][j]);}printf("\n");}Transfer(a);printf("转置后的3*3矩阵为:\n");for(i=0;i<3;i++){for(j=0;j<3;j++){printf(" %d ",a[i][j]);}printf("\n");}}实验错误报告:正在编译D:\Program Files\C-Free Standard\samples\用指针的方法,将一个33整形矩阵转置.cpp...[Error] D:\Program Files\C-Free Standard\samples\用指针的方法,将一个33整形矩阵转置.cpp:13: assignment to `int' from `int *' lacks a cast 构建中止用指针的方法,将一个33整形矩阵转置: 1 个错误, 0 个警告实验后的源程序:/*用指针的方法,将一个3*3整形矩阵转置*/#include "stdio.h"void Transfer(int (*pointer)[3]){int t;int i, j;for(i=1;i<3;i++){for(j=0;j<i;j++){t=*(*(pointer+j)+i);*(*(pointer+j)+i)=*(*(pointer+i)+j);*(*(pointer+i)+j)=t;}}}main(){int i,j;int a[3][3];printf("请输入一个3*3的整形矩阵:\n");for(i=0;i<3;i++){for(j=0;j<3;j++){scanf("%d",&a[i][j]);}}printf("您所输入的3*3矩阵是:\n");for(i = 0;i<3;i++){for(j=0;j<3;j++){printf(" %d ",a[i][j]);}printf("\n");}Transfer(a);printf("转置后的3*3矩阵为:\n");for(i = 0;i<3;i++){for(j=0;j<3;j++){printf(" %d ",a[i][j]);}printf("\n");}}五、用指针请输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换实验前的源程序:实验前的源程序:#include<stdio.h>void main (){int a[10],i,*m,*n;printf("Input 10 numbers:\n");for(i=0;i<10;i++){scanf("%d",&a[i]);m=n=&a[0];}for(i=0;i<10;i++){if(a[i]>m)m=&a[i];i=a[10];a[10]=*m;*m=i;}for(i=0;i<10;i++){if(a[i]<*n) n=&a[i];i=a[9];a[9]=*n;*n=i;}for(i=0;i<10;i++)printf(" %d ",a[i]);}实验错误报告:正在编译D:\Program Files\C-Free Standard\temp\未命名7.cpp... [Error] D:\Program Files\C-Free Standard\temp\未命名7.cpp:13: ANSI C++ forbidscomparison between pointer and integer构建中止未命名7: 1 个错误, 0 个警告实验后的源程序:#include<stdio.h>void main (){int a[10],i,*m,*n;printf("Input 10 numbers:\n");for(i=0;i<10;i++){scanf("%d",&a[i]);m=n=&a[0];}for(i=0;i<10;i++){if(a[i]>*m)m=&a[i];i=a[10];a[10]=*m;*m=i;}for(i=0;i<10;i++){if(a[i]<*n) n=&a[i];i=a[9];a[9]=*n;*n=i;}for(i=0;i<10;i++)printf(" %d ",a[i]);}六、用指针求一字符的长度再main中输入在字符串,并输出长度实验前的源程序:/*用指针求一字符的长度再main中输入在字符串,并输出长度*/#include<stdio.h>int length(char *s){int i,n=0;for(i=0;*(s+i)!=\0;i++)n++;return(n);}void main(){char *s;char c[20];s=c;printf("请输入字符串:\n");gets(c);printf(" 字符串长度为%d\n",length(s));}实验错误报告:正在编译D:\Program Files\C-Free Standard\samples\用指针求一字符的长度再main中输入在字符串,并输出长度.cpp...[Error] D:\Program Files\C-Free Standard\samples\用指针求一字符的长度再main 中输入在字符串,并输出长度.cpp:6: stray '\' in program[Error] D:\Program Files\C-Free Standard\samples\用指针求一字符的长度再main 中输入在字符串,并输出长度.cpp:6: parse error before `;'构建中止用指针求一字符的长度再main中输入在字符串,并输出长度: 2 个错误, 0 个警告实验后的源程序:#include<stdio.h>int length(char *s){int i,n=0;for(i=0;*(s+i)!='\0';i++)n++;return(n);}void main(){char *s;char c[20];s=c;printf("请输入字符串:\n");gets(c);printf(" 字符串长度为%d\n",length(s));}七、用函数的方法由实参传来一个字符串,统计此字符中字母、数字、空格、和其他字符的个数,在主函数中输入字符串以及输出上述结果。

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

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

C语言实验报告第章答案(一)C语言实验报告第一章答案,作为C语言入门的重要一章,主要介绍了计算机的基础知识,以及C语言的发展历程、特点等基础概念。

在这一章中,我们学习了计算机的硬件系统、操作系统、高级语言及其编译过程等内容,这些知识对我们学习和掌握C语言具有非常重要的作用。

下面是我对第一章的答案总结:一、计算机硬件系统1.1 计算机的组成部分:计算机由输入设备、输出设备、中央处理器和存储器组成。

1.2 存储器的分类:存储器可以分为主存储器和辅助存储器,主存储器是指内存,辅助存储器包括硬盘、U盘等。

1.3 CPU的基本功能:CPU主要负责执行指令,包括取指令、分析指令、执行指令。

二、操作系统2.1 操作系统的作用:处理器管理、存储器管理、设备管理和文件管理。

2.2 操作系统的分类:单用户单任务操作系统、单用户多任务操作系统、多用户多任务操作系统。

三、高级语言及其编译过程3.1 高级语言与低级语言:高级语言具有语言简单易学、跨平台性好等优点,低级语言具有执行效率高的特点。

3.2 编译过程:编译过程包括词法分析、语法分析、代码生成、优化等步骤。

四、C语言的发展历程与特点4.1 C语言的发展历程:C语言的发明者是丹尼斯·里奇和肯·汤普森。

4.2 C语言的特点:语言简洁、应用广泛、可移植性强等。

总结:通过学习第一章,我们了解了计算机的基本构成和运作原理,熟悉了操作系统的作用和分类,掌握了高级语言的特点及其编译过程,了解了C语言的发展历程和特点。

这些知识为我们后续的学习打下了坚实的基础。

我们应该在学习过程中注重理解,掌握好基础知识,扎实打好基础。

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

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

答案:#include<stdio.h>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<stdio.h>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 <stdio.h>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的值:5ax+=)+)ln(sin(xe+aaxy+a#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;}3.改错题正确的程序为:#include <stdio.h>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.000000实验三选择结构程序设计四、设计流程(算法描述)(请写出上机内容2(2)题的算法描述)主要是两两比较,然后得出最大的数五、程序清单2(1) 输入整数x和a,计算并输出下列分段函数f(x)的值(保留2位小数),请调用log函数求自然对数,调用fabs 函数求绝对值。

⎪⎩⎪⎨⎧=≠-+=a x a x xa x a a x f 0ln 21)(程序为:#include <stdio.h>#include <math.h>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<stdio.h>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 <stdio.h>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)=0.24Enter a and x:5 5a=5,f(5)=0.002(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<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;for(i=2;i<=5000;i++) //遍历从2到5000的所有数sum = 0;for (j=1;j<=i/2;j++) //找出给定整数X的所有因子和{if(i%j == 0)sum +=j;}if(i == sum) //sum为因子和,如果和i相等,则输出printf("%d ",i);}return 0;}3. 改错题正确的程序为:#include <stdio.h>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<stdio.h>long power(int m,int n)//要返回的是long 型{int i;long s;//因为是要返回的数,所以这里也定义为long型s=1;for(i=1;i<=n;i++){s *=m;}return s;}int main(void){int m,n;scanf("%d%d",&m,&n);printf("s=%ld\n",power ( m,n));return 0;}2、写出两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。

相关文档
最新文档