湖北理工学院c语言实验报告六答案(完整版)

合集下载

湖北理工学院14本科C语言实验报告实验一 顺序结构程序设计

湖北理工学院14本科C语言实验报告实验一  顺序结构程序设计
将scanf("%c%c%d",&a,&b,&c);改成scanf("%c,%c,%d",&a,&b,&c);
问题4要使上面程序的键盘输入数据格式为1,2,34,而输出语句在屏幕上显示的结果为'1', '2',34,则应修改程序中的哪条语句?怎样修改?
将scanf("%c%c%d",&a,&b,&c);
#include <stdio.h>
void main()
{
float a,b,c,s,v;
printf("Input a,b,c:");
scanf("%f %f %f", &a,&b,&c);
s=a*b;
v=a*b*c;
printf("a=%f b=%f,c=%f\n",a,b,c);
printf("s=%f,v=%f\n",s,v);
第1种输入方式:1,2,34↙(以逗号作为分隔符)
第2种输入方式:1 2 34↙(以空格作为分隔符)
第3种输入方式:1 2 34↙(以Tab键作为分隔符)
第4种输入方式:1↙
2↙
34↙(以回车符作为分隔符)
将整个程序改成
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
}
当程序执行时,屏幕的显示和要求输入形式如下:
input a,b,c:1.0 2.0 3.0此处的1.0 2.0 3.0是用户输入的数据

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语言实验6(附参考答案)

C语言实验6(附参考答案)

实验6:运算符与表达式(5)实验目的:1、熟悉字符的输入输出和格式化的输出,了解基本规则。

2、进一步熟悉C语言程序的编辑、编译、连接和运行的方法。

实验内容:1、 getchar函数的作用是从终端输入____1______个字符。

2、如果从键盘输入字符’a’并按回车键,请写出以下程序运行效果_____a_____。

main(){putchar(getchar());}3、以下程序的输出结果为main(){char c=‘x’;printf(“c:dec=%d,oct=%o,ASCII=%c\n”,c,c,c);}4、以下程序的输出结果为。

main(){int x=1,y=2;printf(“x=%d y=%d *sum*=%d\n”,x,y,x+y);printf(“10 Squared is:%d\n”,10*10);}5、以下程序的输出结果为____________________。

#include <stdio.h>main(){float a=123.456; double b=8765.4567;printf(“(1) %f\n”,a);printf(“(2) %14.3f\n”,a);printf(“(3) %6.4f\n”,a);printf(“(4) %lf\n”,b);printf(“(5) %14.3lf\n”,b);printf(“(6) %8.4lf\n”,b);printf(“(7) %.4f\n”,b);}二、程序设计题1、若a=3,b=4,c=5,x=1.2,y=2.4,u=51274,n=128765,c1=’a’,c2=’b’。

想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。

要求输出的结果如下:□表示空格a=□3□□b=□4□□c=□5x=1.200000,y=2.400000,z=-3.600000x+y=□3.60□□y+z=-1.20□□z+x=-2.40u=□51274□□n=□□□128765c1=’a’□or□97(ASCII)c2=’B’□or□98(ASCII)2、假定有:int a=1,b=2,设计一个程序,将变量a和b的值互换并且输出来。

C实验报告6参考答案

C实验报告6参考答案

《高级语言程序设计》实验报告班级: 学号: 姓名: 成绩:实验6 数组程序设计一、实验目的1. 掌握一维数组和二维数组的定义、赋值和输入输出的方法。

2. 掌握字符数组和字符串函数的使用。

3. 掌握与数组有关的算法。

二、实验内容1(1)下列程序的功能为:为指定的数组输入10个数据,并求这些数据之和。

纠正程序中存在的错误,以实现其功能。

程序以文件名保存。

#include<>void main(){int n=10,i,sum=0;int a[n]; int a[10];for(i=0;i<10;i++){scanf("%d",a[i]); scanf("%d",&a[i]);sum=sum+a[i];}printf("sum=%d\n",sum);}(2)下列程序的功能为:将字符串b 连接到字符串a 。

纠正程序中存在的错误,以实现其功能。

程序以文件名保存。

#include<>void main( ){ char a[]="wel",b[]="come"; char a[20]="wel",b[]="come";int i,n=0;while(!a[n]) n++; while(a[n] != '\0') n++;for(i=0;b[i]!='\0';i++)a[n+i]=b[i];a[n+i]=’\0’;printf("%s\n",a);}(3)下列程序的功能为:找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。

也可能没有鞍点。

纠正程序中存在的错误,以实现其功能。

程序以文件名保存。

#include<>#define N 4#define M 4main(){for (i=0;i<N;i++)for (j=0;j<M;j++)scanf("%d",&a[i][j]);flag2=0;for (i=0;i<N;i++){max=a[j][0]; max=a[i][0];for (j=0;j<M;j++)if (a[i][j]>max) if (a[i][j]>=max){max=a[i][j];maxj=j;}for (k=0,flag1=1;k<N&&flag1;k++)if (max>a[k][maxj])flag1=0;if (flag1){printf("\nThe saddle point is:a[%d][%d]=%d\n",i,maxj,max);flag2=1;}}if ( flag2) if (! flag2)printf("\nThere is no saddle point in the Matrix\n");}2.程序填空题(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)编写程序, 已知圆半径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语言实验报告(答案)

《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语言实验及答案

实验二 选择结构的程序设计1.编程计算下面的分段函数。

4x-8 -1≤x <0y= 3x 2+10x-1 0≤x <18x 3-3x 2+2x-1 1≤x <2 (1)事先编好程序和流程图。

要求用if 语句结构实现,注意数据类型和输入提示语句。

#include <stdio.h> main ( ) {float x,y;printf ("input x:\n"); scanf ("%f",&x); if (x>=-1&&x<2) {if (x>=-1&&x<0)y=4*x-8;else if (x>=0&&x<1)y=3*x*x+10*x-1;elsey=8*x*x*x-3*x*x+2*x-1;printf("y=%10.2f",y); } elseprintf ("DATA ERROR!"); }(2)将程序运行六遍,分别从键盘上输入-1,-0.5,0,0.5,1,1.5这六个数,记录下运行结果并核对结果的正确性。

(3)再将程序运行二遍,分别从键盘上输入-3.5和2二个数,记录下运行结果并核对结果的正确性。

键盘的输入 分析结果 运行结果 调试说明键盘输入-1 键盘输入-0.5 键盘输入0 键盘输入0.5 键盘输入1 键盘输入1.5键盘的输入观察到的运行结果程序的错误之处和调试④修改程序,使之能正确处理任何数据。

当输入数据大于等于2或小于-1时,通知用户“Data Error ”,程序结束。

4.水果店有苹果,一级5.50元/kg ,二级4.20元/kg ,三级3.00元 /kg ,四级2.50/kg ,输入苹果的等级、数量以及顾客的付款数,显示出苹果的等级、数量、应付款数以及找给顾客的钱数。

(1)事先编好程序,分别用if 语句和用switch 语句结构实现,要求程序能正确处理任何数据。

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

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

实验六二维数值数组(参考答案)(1) 设计程序sy6-1.c,从键盘上输入一个3行3列矩阵各个元素的值,输出其主对角线元素和反向对角线元素之和。

算法分析:方阵主对角线上的元素,行下标和列下标相同;辅对角线元素,如果行下标为i,列下标就为2-i;参考答案:# include <stdio.h># include <stdlib.h># include <math.h># include <time.h>void main(){int a[3][3];int i,j,sum=0;srand( time( NULL ) );printf("矩阵:\n");for(i=0;i<3;i++) //用随机函数生成3行3列的二维数组并按矩阵格式输出{for(j=0;j<3;j++){a[i][j]=rand()%20;printf("%4d",a[i][j]);}printf("\n");}for(i=0;i<3;i++)sum=sum+a[i][i]+a[i][2-i];printf("该矩阵的正、反对角线元素之和为:%d\n",sum);}运行结果:(2) 设计程序sy6-2.c,找出N×N矩阵中每列元素中的最大值,并按顺序依次存放于b数组中。

算法分析:按列序遍历二维数组,每列用打擂台的方法求最大数,N列则有N个最大值,分别存于b数组的对应元素中。

# include <stdio.h># include <stdlib.h># include <math.h># include <time.h># define N 4void main(){int a[N][N],b[N];int i,j;srand( time( NULL ) );printf("矩阵:\n");for(i=0;i<N;i++) //用随机函数生成N行N列的二维数组并按矩阵格式输出{for(j=0;j<N;j++){a[i][j]=rand()%20;printf("%4d",a[i][j]);}printf("\n");}for(j=0;j<N;j++) //外循环控制列下标{b[j]=a[0][j]; //假设每列的0行元素是最大数for(i=1;i<N;i++)if(b[j]<a[i][j])b[j]=a[i][j];}printf("该矩阵每列元素的最大值是:\n");for(i=0;i<N;i++)printf("%4d",b[i]);printf("\n");}运行结果:(3) 设计程序sy6-3.c,定义一个3×3的二维数组,通过随机函数自动赋值。

武汉理工大学《C语言程序设计》实验报告答案

武汉理工大学《C语言程序设计》实验报告答案

注:在Visual C++ 6.0编译环境中亲自调试通过,但不保证在Turbo C 中通过。

实验二 选择结构的程序设计(题目当初没抄下来,这是根据程序整理的)1.编程实现分段函数⎪⎩⎪⎨⎧<≤-+-<≤-+<≤--=2112381011030184242x x x x x x x x x y#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) printf("Data Error\n"); else{ if (level==1) money=weight*5.50; else if (level==2) money=weight*4.20; else if (level==3) money=weight*3.00; else if (level==4) money=weight*2.50; charge=pay-money; printf("\nLevel:%d\nweight:%g\n",level,weight); printf("money:%g\ncharge:%g\n\n",money,charge); } }实验三循环结构1.编程计算1!+2!+3!+4!+5!●分别用单层循环和双层循环实现●考虑∑∑==201101iiii!和!#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: ");scanf("%lf",&score);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, %d spaces, %d other chars",b[0],b[1],b[2],b[3]);}}。

湖北理工学院c语言实验报告实验六

湖北理工学院c语言实验报告实验六

实验六指针实验课程名:高级语言程序设计专业班级:学号:姓名:实验时间:12.3-12.9 实验地点:K4-202 指导教师:冯珊(3)运行结果分析:用十进制输出i j 的值或地址2.上机验证以下程序的运行结果#include <stdio.h>void main(){ int i,a[]={1,2,3},*p;p=a;/*将数组a首地址赋给指针p*/for (i=0;i<3;i++)printf("%d,%d,%d,%d\n",a[i],p[i],*(p+i),*(a+i));}解答:(1)源代码:#include <stdio.h>void main(){ int i,a[]={1,2,3},*p;p=a;/*将数组a首地址赋给指针p*/for (i=0;i<3;i++)printf("%d,%d,%d,%d\n",a[i],p[i],*(p+i),*(a+i));}(2)运行结果(3)运行结果分析:用指针和下标不同形式表示输出3.调试下列程序,使之具有如下功能:用指针法输入12个数,然后按每行4个数输出。

写出调试过程。

#include <stdio.h>void main(){ int j,a[12],*p=a;for(j=0;j<12;j++)scanf("%d",p++);p=a;for(j=1;j<=12;j++){ printf("%4d",*p++);if(j%4 == 0)printf("\n");}}解答:(1)源代码:#include <stdio.h>void main(){ int j,a[12],*p=a;for(j=0;j<12;j++)scanf("%d",p++);p=a;for(j=1;j<=12;j++){ printf("%4d",*p++);if(j%4 == 0)printf("\n");}}(2)运行结果:(3)运行结果分析:指针法输入12个数,然后按每行4个数输出4. 调试下列程序,使之具有如下功能:任意输入2个数,调用两个函数分别求:⑴2个数的和,⑵2个数交换值。

C语言实验报告第6章答案

C语言实验报告第6章答案

C语⾔实验报告第6章答案6.2基础实验⼀、程序分析分析以下程序段完成的功能,填写在序号后的空⽩处,并运⾏验证结果。

1. ⊙以下程序的运⾏结果是:_______s=12345↙____________________。

#includeint main( ){ inta[]={1,2,3,4,5},i,j=1,s=0;for(i=4;i>=0;i--){ s=s+a[i]*j;j=j*10;}printf(“ s= %d \n” , s );return 0;}2. 以下程序的运⾏结果是:_____7 5 3______________________。

#includeint main( ){ int k ;int a[3][3]={9,8,7,6,5,4,3,2,1};for(k=0;k<3;k++)printf(“%d ”,a[k][2-k]);return 0;}3. 以下程序的功能是:____查找最⼤值元素及下标_________________。

#includeint main( ){ int i, j ,x =0 ,y = 0 , m ;int a[3][3] = { 1, -2 , 0 , 4 , -5 , 6 , 2 , 4 };m = a [0][0] ;for (i=0 ;i < 3 ;i++)for (j = 0 ; j<3 ; j++ )if ( a[ i] [ j ] >m ){ m = a[ i ][ j ] ;x = i ;printf(“ ( % d , % d ) = % d \n”, x , y,m );return 0;} 运⾏结果:___(1 , 2 ) = 6↙_________________4. 以下程序的的运⾏结果是:__8,I am student!___________________。

#include int main( ){ char s1[50]= “I am ”;char s2[ ]=“student!” ;printf(“%d,”, strlen(s2) );strcat(s1,s2);printf(“%s\n”,s1);return 0;}5.以下程序的运⾏结果是:_______6_____________________。

《C语言》实验指导书-上机编程--湖北理工学院

《C语言》实验指导书-上机编程--湖北理工学院

《C语言程序设计》实验指导书实验一顺序结构程序设计一、实验目的及要求1. 了解如何编辑、编译、连接和运行一个C程序;2. 熟悉基本类型的变量的定义;3. 掌握C语言中使用最多的一种语句——赋值语句的使用;4. 掌握数据的输入输出的方法,能正确使用各种格式转换符。

二、实验任务1.熟悉使用VC++6.0编辑、编译、连接和运行一个C程序的过程。

1)启动Visual C++,选择“文件”菜单中的“新建”命令,选择“文件”标签中的“C++ Source File”选项。

2)选择源程序存放的目录和输入源程序名,单击“确定”。

3)在编辑器中编写源程序。

4)单击F7或“编译”中的“重建全部”编译源程序,若编译通过,单击“执行”,在DOS屏上看结果,任按一键返回编辑器。

2. 输入并运行一个简单的程序。

输入下面的程序#include <stdio.h>void main(){printf(“This is a C program.\n”);}编译和连接该程序,观察屏幕上显示的编译信息。

如果出现“出错信息”,则应找出原因并改正之,再进行编译。

如果编译无错误,运行该程序,观察分析运行结果。

3. 输入并编辑一个C程序。

输入以下程序#include <stdio.h>void main(){ int a,b,sum;a=123;b=456;sum=a+b;print (“sum is %d、n”,sim);}编译改程序,仔细分析编译信息窗口,可能显示有多个错误,逐个修改,直到不出现错误。

运行程序,分析运行结果。

4. 掌握各种格式转换符的正确使用方法。

a. 输入程序#include <stdio.h>void main( ){int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61; b=62;f=3157.8901121; g=0.123456789;m=50000;n=-60000;p=32768;q=40000;printf(“a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n”,a,b,c1,c2,d,e);printf(“f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u,q=%u\n”,f,q,m,n,p,q);}b. 运行此程序并分析结果。

【免费下载】湖北理工学院c语言实验报告实验六

【免费下载】湖北理工学院c语言实验报告实验六
电子实验报告填写好后以学生的学号实验项目名作为该word文件名保存例如某学生学号为姓名为某某本次实验名称是
实验课程名:高级语言程序设计
专业班级:
实验时间: 12.3-12.9
学号:
一、实验目的和要求
1. 通过实验进一步掌握指针的概念,会定义和使用指针变量; 2. 能正确使用数组的指针和指向数组的指针变量; 3. 能正确使用字符串的指针和指向字符串的指针变量; 4. 能正确使用指向函数的指针变量; 5. 了解指向指针的指针的概念及其使用方法。
(3)运行结果分析: 用指针和下标不同形式表示输出 3.调试下列程序,使之具有如下功能:用指针法输入 12 个数,然后按每行 4 个数输出。写出调试 过程。
#include <stdio.h> void main()
{ int j,a[12],*p=a; for(j=0;j<12;j++) scanf("%d",p++);
} void sum(int a,int b,int *c) { *c=a+b; } void swap(int *a,int *b) { int *t;
t=a; a=b; b=t; }
解答: (1)源代码: #include <stdio.h> void main( ) { int a,b,c,*p=&c;
姓名:
指导教师:
冯珊
(3)运行结果分析: 用十进制输出 i j 的值或地址
2.上机验证以下程序的运行结果 #include <stdio.h> void main() { int i,a[]={1,2,3},*p;
p=a;/*将数组 a 首地址赋给指针 p*/ for (i=0;i<3;i++)

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语言test6答案

C语言test6答案

1.阅读、调试、运行程序,比较阅读的结果和运行的结果(1)运行结果:(2)运行结果:(3)运行结果:(4)运行结果:(5)运行结果:2. 完善程序,并调试运行1) (1) s[i]!= (2) || (3) s[j]=s[i];2)(1)i=0 (2)'\0' (3)str1[i]-str2[i] 3)(1)j+=2 (2)a[i]>a[j]4)(1)i=1(2)a[i-1](3)a[i]5)(1)&a[i] (2)a[0](3)a[i]6)(1)a[N] (2)a[i]!=k (3)i<N3. 修正程序,并调试运行(1)修正的程序:/**********found**********/else if('0'<=s[i]&&s[i]<='9') /**********found**********/printf("%4d",b[k]);}(2)修正的程序/**********found**********/char a[10];/**********found**********/put (s[i]);(3)修正的程序/**********found**********/(1)s1=0,s2=0,s3=0,s4=0/**********found**********/(2)s2=s2+a[m-1][j] /**********found**********/ (3)for(i=1;i<m-1;i++)/**********found**********/ s=s1+s2+s3+s4(4)修正的程序/**********found**********/ for(i=j+1;i<4;i++)/**********found**********/ break;4.编写程序,并调试运行(1)参考程序#include <stdio.h>#define M 4#define N 3void main(){int a[M][N],b[N][M],c[M][M]; int i,j,k,s;printf("input array a:\n"); for(i=0;i<M;i++)for(j=0;j<N;j++)scanf("%d",&a[i][j]); printf("input array b:\n"); for(i=0;i<N;i++)for(j=0;j<M;j++)scanf("%d",&b[i][j]); for(i=0;i<M;i++)for(j=0;j<M;j++){s=0;for(k=0;k<N;k++)s=s+a[i][k]*b[k][j];c[i][j]=s;}for(i=0;i<M;i++){for(j=0;j<M;j++)printf("%4d",c[i][j]); printf("\n");}}(2)参考程序#include "stdio.h"void main(){char str[100];puts("请输入字符串:\n"); gets(str);int i=0;while(str[i]!='\0'){if('A'<=str[i]&&str[i]<='Z') str[i]=str[i]+32;i++;}puts(str);}(3)参考程序#include "stdio.h"void main(){char str[100];int t=0;puts("请输入字符串:\n"); gets(str);int i=0;while(str[i]!='\0'){if(str[i]=='c')t++;i++;}printf("%d",t);}(4)参考程序#include <stdio.h>void main(){int a[20];int i=0,j,m;scanf("%d",&m);if(m>=1&&m<=65535){while(m!=0){a[i]=m%2;m=m/2;i++;}for(j=i-1;j>=0;j--)printf("%d",a[j]);} }(5)参考程序#include <stdio.h>void main(){char m[5][5];int i,j;for(i=0;i<5;i++)for(j=0;j<5;j++)m[i][j]='*';for(i=0;i<5;i++){for(j=0;j<5;j++)if(i>j)printf(" ");else printf("%c",m[i][j]); printf("\n");}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5、任务名称
源代码:
#include <stdio.h>
int table[10];
void lookup(int *t,int *a,int n)
{ int k;
*a=t[0];
for(k=1;k<n;k++)
if(*a>t[k]) *a=t[k];
}
void main()
{ int k,min,*p=&min;
{ for(j=0;j<5;j++)
printf("%2d",p[i][j]);
(4);
}
}
(1) A.&a[i][0] B.&a[i][1] C.&p[i] D.&a[0][i]
(2) A.0 B.1 C.i D.(i+1)
(3) A.0 B.1 C.i D.(i+1)
(4) A.putchar("\n"); B. putchar('\n'); C. putchar(\n); D.printf('\n');
答:A,C,D,B
运行结果:(需要截图)
运行结果分析:首先要清楚二维数组与指针的结合运用时,注意指针所指向的是数组的第一个元素的地址;其次要注意数组指针的概念和使用,弄清楚指针指向的是什么,也要清楚指针使用时的规则。
7、任务名称
源代码:
#include <stdio.h>
void main()
{
void fun(int *,int *,int );
for (i=0;i<3;i++)
printf("%d,%d,%d,%d\n",a[i],p[i],*(p+i),*(a+i));
}
运行结果:(需要截图)
运行结果分析:把数组a[3]的首地址a存入指针变量p,所以a[i]和p[i],*(p+i),*(a+i)表示数组a[3]中的元素。
3、任务名称
源代码:
#include <stdio.h>
void main()
{ int j,a[12],*p=a;
for(j=0;j<12;j++)
scanf("%d",p++);
p=a;
for(j=1;j<=12;j++)
{ printf("%4d",*p++);
if(j%4 == 0)
printf("\n");
}
int a[5]={4,6,8,10,12},s=1,*p=&s;
fun(a,p,5);
printf("%d\n",s);
}
void fun(int *a,int *s,int n)
{
int i;
for (i=0;i<n;i++)
*s*=a[i];
}
运行结果:(需要截图)
运行结果分析:指针变量p指向变量s,fun函数的功能是求出一个数组所有元素的乘积,并赋给形参s指向的整型变量。这样p所指的变量c的值就是数组a[5]中元素的乘积。最后输出c。
voidd",&a,&b);
sum(a,b,p);
swap(&a,&b);
printf("sum=%d\n",c);
printf("a=%d,b=%d\n",a,b);
}
void sum(int a,int b,int *c)
{ *c=a+b;
}
运行结果:(需要截图)
运行结果分析:
把数组a[12]的首地址赋给指针变量p,指针p指向数组a的第一个元素。在for循环中依次输入12个数,最后输出数组中的元素。
4、任务名称
源代码:
#include <stdio.h>
void main( )
{ int a,b,c,*p=&c;
void sum(int ,int ,int *);
三、结论
通过本次实验,我进一步掌握指针的概念,会定义和使用指针变量;.学会了使用数组的指针和指向数组的指针变量;掌握了字符串的指针的使用方法以及指向字符串的指针变量和指向函数的指针变量的使用方法了解指向指针的指针的概念及其使用方法。
6、任务名称
源代码:
#include <stdio.h>
void main()
{ int a[5][5]={0},*p[5],i,j;
for(i=0;i<5;i++)
p[i]=(1);
for(i=0;i<5;i++)
{ *(p[i]+(2) )=1;
*(p[i]+5-(3) )=1;
}
for(i=0;i<5;i++)
实验六
实验课程名:高级语言程序设计(C)
专业班级:学号:姓名:
实验时间:实验地点:指导教师:
一、实验目的和要求
1.通过实验进一步掌握指针的概念,会定义和使用指针变量;
2.能正确使用数组的指针和指向数组的指针变量;
3.能正确使用字符串的指针和指向字符串的指针变量;
4.能正确使用指向函数的指针变量;
5.了解指向指针的指针的概念及其使用方法。
}
运行结果:
57-34-32
-34 5 -32 7
运行结果分析:指针的值与指针指向的变量值的区别。在VC环境下,以上运行结果中的负数是另一个值。
2、任务名称
源代码:
#include <stdio.h>
void main()
{ int i,a[]={1,2,3},*p;
p=a;/*将数组a首地址赋给指针p*/
二、实验内容
1、任务名称
1.上机验证以下c70101.c程序的运行结果
#include <stdio.h>
void main()
{ int i,j,*pi,*pj;
pi=&i;
pj=&j;
i=5;
j=7;
printf("\n%d\t%d\t%d\t%d",i,j,pi,pj);
printf("\n%d\t%d\t%d\t%d",&i,*&i,&j,*&j);
}
void swap(int *a,int *b)
{ int t;
t=*a;
*a=*b;
*b=t;
}
运行结果:(需要截图)
运行结果分析:
输入两个整型数给变量a,b,指针p指向整型变量c,调用函数sum,把实参中的a,b传给形参a和b,实参p和形参c指向同一个变量,把a,b之和赋给p所指的变量c。然后调用swap函数使变量a和b的值交换。
for (k=0;k<10;k++)
scanf("%d",table+k);
lookup( table , p ,10);
printf("min=%d\n",min);
}
运行结果:(需要截图)
运行结果分析:函数lookup的功能是找到数组t中的最小值并把他赋给指针变量a所指向的变量。在主函数中输入是个整数到数组table[10],调用lookup函数找到最小值,然后输出最小值。
相关文档
最新文档