湖北理工学院C语言实验报告六答案(完整版)
- 格式:pdf
- 大小:154.13 KB
- 文档页数:5
一、单项选择题1. 以下关于C语言中的变量声明的叙述中,正确的是()A. 在C语言中,变量声明可以放在任何位置B. 在C语言中,声明变量时,必须指定变量的类型C. 在C语言中,声明变量时,可以指定变量的值D. 在C语言中,变量声明只能放在函数的开头答案:B2. 下列程序的输出结果是()#include <stdio.h>int main(){int i=1;while(i<=5){printf("%d\n",i);i++;}return 0;}A. 1 2 3 4 5B. 0 1 2 3 4C. 1 2 3 4D. 0 1 2 3答案:A3. 下列程序的输出结果是()#include <stdio.h>int main(){int i=1;doprintf("%d\n",i);i++;}while(i<=5);return 0;}A. 1 2 3 4 5B. 0 1 2 3 4C. 1 2 3 4D. 0 1 2 3答案:A4. 在C语言中,可以使用()来表示一个字A. 单引号B. 双引号C. 尖括号D. 方括号答案:A5. 下列程序的输出结果是()#include <stdio.h>int main(){int i=1;for(;i<=5;i++){printf("%d\n",i); }return 0;}A. 1 2 3 4 5B. 0 1 2 3 4C. 1 2 3 4D. 0 1 2 3答案:A二、填空题1. 在C语言中,变量的声明语句的一般形式是 _____ <类型说明符> <变量名> _____。
答案:int。
长沙理工大学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;prin tf("a/b 的商=%d\n",x);prin tf("a/c 的商=%d\n",y);x=a%b;y=a%c;prin tf("a/b 的余数=%d\n",x);prin tf("a/c 的余数=%d\n",y);}4.设变量a的值为0, b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。
(提示:用条件运算符)答案:#in clude<>mai n(){int a,b,c;a=0;b=-10;c= (a>b) ? b:a;prin tf("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实验二顺序结构程序设计四、程序清单问题2 改printf("%c,%c,%d\n",a,b,c); 这条语句1.键盘输入与屏幕输出练习问题1 D 。
C语言实验参考答案实验一5、输入并运行自已编写的程序(教材第一章P14 三编程题)。
实验二1、编写一个程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。
#include <stdio.h>main(){float x,y,z,s,t,a;printf(“x,y,z=”);scanf(“%f,%f,%f”,&x,&y,&z);s=x+y+z;t=x*y*z;a=s/3;printf(“s=%f,t=%f,a=%f\n”,s,t,a);}2、编程。
要求用户输入两个整数a、b(分别为20、10),读取用户从键盘输入的值,然后:1)用整数输出这两个数的和、差;2)用长整型输出这两个数的积,用float输出商;3)用整数输出这两个数的余数,用float输出平均值。
#include <stdio.h>main(){int a,b,he,cha,yu;long ji;float shang,aver;printf(“a,b=”);scanf(“%d,%d”,&a,&b);he=a+b;cha=a-b;ji=(long)a*b;shang=1.0*a/b;yu=a%b;aver=(a+b)/2.0;printf(“a+b=%d,a-b=%d,a*b=%ld\n”,he,cha,ji);printf(“a/b=%f,a%%b=%d,aver=%f\n”,shang,yu,aver);}实验三1、编写一个程序,从键盘接收一个一位的整型数,经转换,用字符函数putchar输出。
例如,输入整数5,程序运行后输出字符5。
#include <stdio.h>main(){int a;char c;printf(“a=”);scanf(“%d”,&a);c=a+48;putchar(c);}2、编程。
(完整版)c实验报告实验名称: C语言实验报告实验内容:本次实验主要针对C语言编程进行实验。
通过实验的设计和完成,检验和加深对C语言的理解和应用能力。
实验步骤:1. 实验准备在开始实验之前,需要准备好以下必要的工具和材料:- 计算机- C语言编译器(比如GCC、Clang等)- 文本编辑器(比如Notepad++、Sublime Text等)2. 实验环境搭建在计算机上安装C语言编译器,并配置好相应的环境变量。
这样可以在终端或命令提示符中执行相关的C程序。
3. 编写实验代码根据实验要求,使用文本编辑器编写C语言代码。
根据实验的要求和功能需求,合理设计和组织代码结构,包括头文件的引用、变量的定义、函数的声明和定义等。
4. 编译和运行代码在命令行或终端中使用编译器对编写好的C语言代码进行编译,并生成可执行文件。
编译命令的具体格式根据不同的编译器而有所差异,但一般形式如下:```gcc -o output_file input_file.c```其中,"output_file"表示生成的可执行文件名,"input_file.c"表示待编译的C源代码文件名。
编译成功后,通过命令行或终端执行生成的可执行文件,检查程序的运行结果是否符合预期。
5. 实验结果分析根据实际运行结果,对实验数据进行分析和归纳。
可以通过输出结果、打印特定信息或观察程序的行为来判断程序是否正确地实现了预期的功能。
6. 实验总结在实验报告中对本次实验的过程、方法、结果进行总结,并提出实验中遇到的问题和解决方法。
同时,对所学习的C语言相关知识点进行总结和归纳,以加深对相关知识的理解和记忆。
实验结果:通过本次实验的设计和实现,我成功完成了对C语言编程的实验,达到了预期的目标。
通过编写实际的代码,我巩固了对C语言语法和基本概念的理解。
在实验过程中,我遇到了一些问题,通过查阅资料和与同学的讨论,我成功解决了这些问题。
湖北理工学院c语言实验报告七答案(完整版)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March实验七结构体和共用体实验课程名:高级语言程序设计(C)专业班级:学号:姓名:实验时间:实验地点:指导教师:input(stu);print(stu);}运行结果:运行结果分析:首先定义的是结构体(其中要注意结构体中数组),在定义和引用结构体数组是要注意结构体数组的引用,定义函数和引用函数要注意括号内部的变量时结构体。
2、任务名称scanf("%d", &stu[i].score[j]);}}average=0;max=0;maxi=0;for(i=0;i<3;i++){sum=0;for(j=0;j<3;j++)sum+=stu[i].score[j];stu[i].avr=sum/3.0;average+=stu[i].avr;if(sum>max){max=sum;maxi=i;}}average/=N;printf("NO. name score1 score2 score3 average\n");for(i=0;i<N;i++){printf("%5s%10s",stu[i].num, stu[i].name);for(j=0;j<3;j++)printf("%9d",stu[i].score[j]);printf("%8.2f\n",stu[i].avr);}printf("average=%6.2f\n",average);printf("The highest score is:%s,score total:%d.",stu[maxi].name,max); }运行结果:运行结果分析:输入输出时要引用结构体数组中的各种变量,弄清输入输出时的格式,要把简单的排序、求和、求平均值运用于结构体时不能搞混乱了,思路要清晰。
一、实验项目名称指针二、实验目得1.掌握指针得基本概念与基本用法。
包括:变量得地址与变量得值,指针变量得说明、指针变量得初始化、指针得内容与定义格式、指针得基本运算等;2.掌握数组与指针得关系并能够利用指针解决数组得相关问题;3。
掌握字符串与指针得关系并能够利用指针处理字符串得问题;4。
掌握指针与函数得关系并能够利用指针处理函数问题;5.了解指向指针得指针得概念及其使用方法;6。
能够使用指针进行程序设计。
三、实验内容有关指针得程序设计1。
编程实现:任意输入得10个数,求其平均值。
要求:(1)10个数采用scanf语句读入。
(2)利用指针实现对这10个数得访问。
(3)要求平均值得精度为小数后面2位。
2。
编程实现:将一个任意整数插入到一个已排序得整数数组中,插入后数组中得数仍然保持有序.要求:(1)整数数组由初始化方式输入。
任意整数由scanf函数输入;(2)实现过程采用指针处理;(3)输出原始数组数据以及插入数据后得数组数据并加以相应说明。
3。
编写函数newcopy(char *new,char *old),它得功能就是删除old所指向得字符串中得小写字母,并将所得到得新串存入new中。
要求:(1)在主函数中以初始化方式输入一个字符串;(2)调用newcopy()函数;(3)在主函数中输出处理后得结果.4。
编程实现:输入三个整数,按由大到小得顺序输出。
要求:(1)通过scanf函数输入三个数据并存入三个变量中;(2)利用指针实现从大到小输出;(3)修改程序,将三个整型数据改为字符型数据,输入三个字符,按从大到小数顺序输出;(4)修改程序,将三个字符型数据改为字符串数据,输入三个字符串,按从小到大顺序输出;(5)体会指针对不同数据处理得特点.四、实验步骤及结果一、#include <stdio、h〉voidmain(){ﻩint a[10],n,sum=0;ﻩfloat aver;/*定义平均数为浮点型*/int *p=a;/*初始化*/ﻩprintf("Pleaseinput 10 numbers:\n”);for (n=0;n<10;++n)ﻩscanf("%d",&a[n]);/*输入十个数*/ﻩfor(n=0;n<10;++n)ﻩsum=sum+*(p+n);/*使用指针访问数据*/ﻩaver=(float)sum/n;ﻩprintf(”Average is%、2f",aver);/*精确到小数点后两位*/}二、#include〈stdio、h>void arr(int *a,int n);/*定义排序函数*/void insert(int *a,int num);/*插入并排序函数*/intn=10;/*定义数据个数,可修改*/voidmain(){int*a,num,j,k,b[10];ﻩprintf("请输入个数据:\n");ﻩfor(j=0;j〈n;++j)scanf("%d",&b[j]);/*输入原始数据*/ﻩa=&b[0];/*初始化*/arr(a,n);/*调用排序函数*/ﻩprintf("排序好得数据为:\n");ﻩfor(j=0;j<n;++j)printf("%d",*(a+j));/*输出排序好得原始数据*/ ﻩprintf("\n请输入要插入得数:”);scanf(”%d",&num);printf("插入%d后得数据为:\n”,num);insert(a,num);/*调用插入并排序函数*/}voidarr(int*a,int n)/*排序函数*/{ﻩintk,j,h;ﻩfor (k=0;k〈10;++k)ﻩ for (j=0;j〈n-k—1;++j)ﻩif(*(a+1+j)<*(a+j)){ﻩﻩh=*(a+1+j);ﻩﻩﻩ*(a+1+j)=*(a+j);ﻩﻩ*(a+j)=h;ﻩ}}void insert(int *a,int num){ﻩvoidarr(int *a,intn);ﻩint j,k;*(a+n)=num;/*将插入得数排在数组最后一位*/arr(a,n+1);/*将新数组重新排序*/ﻩfor (j=0;j〈(n+1);++j)ﻩ if (*(a+j)==num){ﻩﻩﻩk=j;ﻩbreak;}/*找到插入得数在数组中得位置*/ﻩfor(j=0;j<(n+1);++j)ﻩﻩprintf(”%d",*(a+j));ﻩprintf("\n插入得数据排在数组得第%d位",k+1);}三、#include <stdio、h>void newcopy(char *new1,char *old);void main(){ﻩchar*new1,*old,a[10];/*new就是不能当做变量,所以用new1*/ old=a;new1=a;/*字符串得初始化*/ﻩprintf("请输入字符串:\n”);scanf("%s",a);ﻩnewcopy(new1,old);/*调用函数*/printf(”新得字符串为:\n");printf("%s”,new1);}void newcopy(char*new1,char*old){ﻩint n,j=0;for (;*old!=’\0';++old)ﻩif ((* old)>'z' ||(*old)〈'a’){ﻩﻩ*(new1+j)=* old;ﻩﻩ++j;}/*排除原字符串中得小写字母,将其她字符存入新字符串*/*(new1+j)='\0';/*结束新字符串,否则新字符串得输出会故障*/}四、#include <stdio、h>voidmain(){ﻩvoid exchange(int *q1,int *q2,int*q3);int a,b,c,*q1,*q2,*q3;ﻩprintf(”请输入个数:\n");ﻩscanf(”%d,%d,%d",&a,&b,&c);ﻩq1=&a;q2=&b;q3=&c;/*将三个数得地址存入q1q2q3中*/ ﻩexchange(q1,q2,q3);/*调用排序函数*/printf("3个数从大到小排列为:\n%d,%d,%d",a,b,c); }voidexchange(int *q1,int*q2,int *q3){ﻩvoid s*q1,int*q2);/*调用交换函数*/ﻩif (*q1〈*q2)ﻩﻩs);/*若*q1小于*q2,交换地址位置*/if (*q1〈*q3)ﻩs);if(*q2<*q3)ﻩs);}void s*q1,int*q2)/*交换函数*/{int n;n=*q1;ﻩ*q1=*q2;ﻩ*q2=n;}修改程序,将三个整型数据改为字符型数据,输入三个字符,按从大到小数顺序输出:只需将程序中得所有int改为char,将%d改为%c即可。
姓 名 学 号 实验组
实验时间 指导教师 成 绩
实验项目名称 数组
一、实验目的及要求:
(1) 熟悉使用一维数组、二维数组。
1、程序改错(3处错误):下列程序的功能是计算3×3矩阵的主对角线元素之和。
#include “stdio.h”
main()
{ int i,a[3][3]={1,2,3,4,5,6,7,8,9},sum=0;
for(i=1;i<=3;i++) sum+=a[i][i];
printf("sum=%d\n",sum);
}
运行结果截图:
2、填空:下面程序的功能是检查一个N×N矩阵是否对称(即判断是否所有的a[i][j]等于
a[j][i])。请填空。
#define N 4
main()
{ int a[N][N]={1,2,3,4,2,2,5,6,3,5,3,7,4,6,7,4};
int i,j,found=0;
for(j=0;j
{ ;
break;
}
if(found) printf("No");
else printf("Yes");
}
运行结果截图:
3.编写程序:将3×3矩阵转置并输出。
(1)源程序清单:
(2) 运行结果截图:
指导教师意见:
签名: 年 月 日
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。
C语言实验报告(六)第一篇:C语言实验报告(六)华北水院高级语言程序设计(C语言)实验报告2014--2015学年第二学期 2014级通信专业班级:164 学号:201416430 姓名:詹晓东一、实验题目:指针二、实验目的:(略)三、实验内容1.程序验证(略)2.程序设计1)下面程序的功能是分别求出数组中所有3的倍数之和以及所有5的倍数之和。
形参n给了数组中数据的个数,利用指针three返回3的倍数之和,利用指针five返回5的倍数之和。
例如:数组中的值依次为:1,5,9,2,3,15,11,6,10;则利用指针three返回3的倍数之和33;利用指针five返回5的倍数之和30。
请在下面空白处完善这一函数的功能,并且调试运行出结果。
源代码:#include #define N 20 void fun(int *a,int n,int *three,int *five){ int i;for(i=0;i<=n;i++){if(a[i]%3==0)*three+=a[i];if(a[i]%5==0)*five+=a[i];}} void main(){ int a[N]={1,5,9,2,3,15,11,6,10},i,n=9,three,five;three=five=0;printf(“The original data is:n”);for(i=0;iprintf(“%5d”,*(a+i));printf(“nn”);fun(a,n,&three,&five);printf(“3的倍数之和:%dn”,three);printf(“5的倍数之和:%dn”,five);} 运行结果:2)从键盘输入一个字符串,实现利用字符指针将字符串的字符顺序逆置并输出。
(例如输入abcdef,输出fedcba)。
请编写相应的程序代码,并调试运行出正确结果。
源代码:#include #include void main(){ int i,j;char str[80];char s;printf(“请输入一个字符串:n”);scanf(“%s”,str);j=strlen(str);printf(“字符串逆序输出为:n”);for(i=j;i>0;i--){ s=str[i-1];printf(“%c”,s);}printf(“n”);}void fun(char *s){ int i,j;char temp;j=strlen(s);for(i=0;is[i]=s[j-i-1];s[j-i-1]=temp;} } 运行结果:实验心得:通过本次的学习,我对于指针的使用有了一定的了解,但是由于较难,在过程中遇到很多的困难,今后应多加练习才能有进步。
C语言实验六实验报告—指针实验六:指针实验报告一、实验目的1.了解指针的概念和作用;2.掌握指针与数组、函数的关系;3.熟悉指针的运算和指针的应用。
二、实验内容1.指针的定义和初始化;2.指针与数组的关系;3.指针与函数的关系。
三、实验原理1.指针的定义和初始化指针是一个变量,其值为另一个变量的地址。
可以使用指针来访问和修改内存中的数据。
指针的定义格式为:数据类型*指针名;可以使用&运算符来获取变量的地址,并将其赋值给指针。
2.指针与数组的关系数组是一组相同类型的数据的集合,而指针可以指向数组的首地址。
通过指针可以访问数组中的元素。
数组名本身就是一个指针常量,存储了数组的首地址。
定义指针指向数组时,可以使用数组名作为初始化值。
3.指针与函数的关系函数可以接受指针作为参数,通过指针可以修改传递给函数的变量的值。
函数也可以返回指针,指向在函数内部创建的局部变量。
需要注意的是,在使用指向局部变量的指针时要小心,因为函数执行完毕后,局部变量会被释放,指针将指向无效的内存地址。
四、实验步骤1.指针的定义和初始化定义一个整型变量a,并使用指针p指向a的地址。
使用*p来访问a 的值,使用&运算符获取a的地址并给指针p赋值。
2.指针与数组的关系定义一个整型数组arr,并使用指针p指向数组的首地址。
使用p[i]来访问数组的元素,使用*(p+i)也可以实现相同的效果。
3.指针与函数的关系定义一个函数,接受一个指针作为参数,并使用指针修改传递给函数的变量的值。
定义一个函数,返回一个指针,指向在函数内部创建的局部变量。
在主函数中调用这两个函数,并打印出相应的结果。
五、实验结果1.指针的定义和初始化定义一个整型变量a,并初始化为10。
指针p指向a的地址,使用*p 来访问a的值。
2.指针与数组的关系定义一个整型数组arr,并初始化为{1, 2, 3, 4, 5}。
指针p指向数组的首地址,使用p[i]来访问数组的元素。
C语言程序设计实验报告参考答案长沙理工大学C语言实验报告参考答案实验一熟悉C语言程序开发环境及数据描述四、程序清单1.编写程序实现在屏幕上显示以下结果:ThedressislongTheshoesarebigThetrousersareblack答案:#includemain(){printf("Thedressislong\n");printf("Theshoesarebig\n");printf("Thetrousersareblack\n");}2.改错题(将正确程序写在指定位置)正确的程序为:#includemain(){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(余数)的程序。
答案:#includemain(){inta,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。
(提示:用条件运算符) 答案:#includemain(){inta,b,c;a=0;b=-10;c=(a>b)?b:a;printf("c=%d\n",c);}五、调试和测试结果1.编译、连接无错,运行后屏幕上显示以下结果:ThedressislongTheshoesarebigThetrousersareblack3、编译、连接无错,运行后屏幕上显示以下结果:a/b的商=7a/c的商=3a/b的余数=10a/c的余数=154.编译、连接无错,运行后屏幕上显示以下结果:c=-10实验二顺序结构程序设计四、程序清单1.键盘输入与屏幕输出练习问题1D。
注:在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程序设计实验报告六姓 名:赖瑾 实验地点:家 实验时间:2020年5⽉7⽇ 实验项⽬:⼀、实验⽬的与要求7.3.1练习1 写⼀个函数,对⽤随机函数产⽣的10个整数按从⼩到⼤的顺序排序(升序,冒泡排序实现)1.定义⼀个⼀维整型数组,其⼤⼩为10,即它能存放10个数据;2.使⽤循环语句,利⽤随机函数产⽣10个整数存放在数组中;3.编写排序函数sort1();4.使⽤循环语句,将排好序的10个数依次输出;5.将数组定义为全局数组或局部数组;6.在主函数中,⽤随机函数⽣成10个元素放⼊数组中;7.将sort1()函数部分放⼊主函数中。
7.3.1.练习2 写⼀个函数,对⽤随机函数产⽣的10个整数按从⼩到⼤的顺序排序(升序,⽤选择排序实现)1.定义⼀个⼀维整型数组,其⼤⼩为10,即它能存放10个数据;2. 使⽤循环语句,利⽤随机函数产⽣10个整数存放在数组中;3.编写排序函数sort1();4.使⽤循环语句,将排好序的10个数依次输出;5.将数组定义为全局数组或局部数组;6.在主函数中,⽤随机函数⽣成10个元素放⼊数组中;7.将sort1()函数部分放⼊主函数中。
7.3.2练习1 输出指定⾏数的杨辉三⾓形1.怎样定义和使⽤⼆维数组;2.怎样⽤循环进⾏⼆维数组中值的计算;3.使⽤循环依次输出⼆维数组中的元素(注意换⾏);4.⽤if语句根据条件判断某个字符是否是⼤写字母。
7.3.2练习2 给定某年某⽉某⽇,将其转换成这⼀年的第⼏天并输出1. 使⽤scanf()函数输⼊年、⽉、⽇;2.使⽤⼀个⼆维数组存放闰年和⾮闰年的每个⽉的天数;3.使⽤逻辑表达式判断某年是否是闰年;4.使⽤变量day对前⼏个⽉的天数进⾏累加;5.在强化练习中,学⽣将练习不使⽤⼆维数组存放每个⽉的天数;6.使⽤if语句对年、⽉、⽇的正确性进⾏验证;7.将存放每个⽉的天数的⼆维数组说明为局部数组。
7.3.3 编写程序,判断某⼀字符是不是“回⽂数”,回⽂数是从左⾄右或从从右⾄左读起来都是⼀样的字符1.⽤scanf()函数,从键盘输⼊⼀个字符串存⼊字符数组中2.求出该字符串的长度3.⽤for循环依次⽐较,循环的终值为长度的⼀半4.设置⼀个标志符ch,初值为‘Y’,若某字符对不相等,将其设置为‘N’5.根据ch是‘Y’还是‘N’,输出该字符串是否是回⽂数6.强化练习中不使⽤strlen()求出字符串的长度7.将求回⽂数的部分独⽴出来,编成⼀个函数⼆、实验内容(1)7.3.1练习1 冒泡排序法的运⽤1、问题的简单描述:编写程序,利⽤随机函数产⽣10个随机数,按升序排列输出。
C语言实验报告实验1-1:hello world程序:源代码:#include<stdio.h>main(){printf("hello world!\n");system("pause");}实验1-2:完成3个数据的输入、求和并输出计算结果的程序:源代码:#include<stdio.h>main(){int i,j,k,sum;scanf("%d%d%d",&i,&j,&k);sum=i+j+k;printf("sum=%d",sum);system("pause");实验1-3:在屏幕上输出如下图形:ABBBCCCCC源代码:#include<stdio.h>main(){printf(" A\n");printf(" BBB\n");printf(" CCCCC\n");system("pause");}实验2-1:计算由键盘输入的任何两个双精度数据的平均值源代码:#include<stdio.h>main(){double a,b;scanf("%lf%lf",&a,&b);printf("%.1lf\n",(a+b)/2);system("pause");}实验2-2:写一个输入7个数据的程序,把输入的数据代入a + b * (c – d ) / e * f – g 表达式进行运算源代码:#include<stdio.h>main(){float a,b,c,d,e,f,g,x;scanf("%f%f%f%f%f%f%f",&a,&b,&c,&d,&e,&f,&g);x=a + b * (c - d ) / e * f - g;printf("x=%f",x);system("pause");}实验2-3:编写一个C语言程序,测试下列各表达式:i, ji + 1 , j + 1i++ , j++++i , ++ji+++++j源代码:#include<stdio.h>main(){int i=1,j=1;printf("%d %d\n",i+1,j+1);printf("%d %d\n",i++,j++);printf("%d %d\n",++i,++j);printf("%d\n",(i++)+(++j));system("pause");}实验2-4:输入存款金额money,存期year和年利率rate,根据下列公式计算存款到期时的利息interest (税前),输出时保留2位小数。