实验4 数组程序设计2
实验四 数组应用程序设计实验
实验四数组的应用程序设计一、实验目的1.掌握C语言的一维数组和二维数组的应用;2.掌握常用的排序算法;3.掌握字符数组和字符串函数的使用;二、实验内容编写程序,完成如下功能1. 编写程序实现如下功能,输入了20个整数,把这些整数存放在一个数组中,并且输出其中的最大者与最小者及他们在数组中的下标、这20个数的和及它们的平均值。
2. 从键盘输入15整数,对这些数进行从大到小排序后按次序显示各个数。
3. 在整型数组M中存放12个非0 整数,使用scanf( )函数将12个整数从键盘读入到M中,并要求M中有正数和负数,编写程序,将数组M中的所有正数存放在数组的前面,负数存放在数组的后面,并显示数组M中的各个元素的值。
4.从键盘输入一个字符串并存入字符数组中,分别统计其中的数字字符、字母、空格和其它字符的个数。
5. 从键盘输入一个字符串(小于50个字符,该字符串中可以含有字母、数字和空格),并存入字符数组strArray中,将数组strArray中的字符颠倒后存入另外一个数组reverseArray 中(也就是第一个字符变成最后一个字符,第二个字符变成倒数第二个字符…,), 再把reverseArray数组中的各个字母变成其后的第5个字母(如A变成F,B变成G,…,Z变成E等),分别显示这两个数组中的各元素。
6*. 从键盘输入16个数组成一个4行4列的二维数组,(1)求对角线上的各个元素的和与积;(2)求所有靠边元素的和与积;(3)求所有不靠边元素的和与积7*. 已知有两个矩阵:求矩阵的乘积:C = AB,并按行列显示矩阵C的各个元素。
8*.使用随机函数rand( ), 产生50个[0,100]之间的整数,并把这一批整数存在一个整型数组A中,定义另外一个整形数组B,请把A数组中的数按照从大到小的顺序放入数组B中,最后,分别显示数组A和数组B的各个元素。
提示:随机函数int rand(void) 在头文件stdio.h中,该函数可以返回一个在[0,32767]之间的整数,本实验后面附有例子。
12 《C语言程序设计》教案 第四章 数组(2)—二维数组
二维数组的存储:二维数组从概念上可理解为行-列矩阵,但存储器是一维的,需按一定规则转换,在内存中:C语言中,二维数组中元素排列的顺序是——按行存放,不同的语言它的排列顺序是不一样的,Fotran是按列存放的。
如:见纸上
也就是说:数组元素的实际存放顺序是:右边下标比左边下标变化得快!!!
(2)字符数组的初始化
1)按元素赋
static char c[10]={‘s’,’t’,’o’,’r’,’e’};
注意static char c[10];则c[0],c[1],。。。c[9]初值均为‘\0’
但若char c[10];则c[0],c[1],。。。c[9]的值是未知的
注意:在C语言中,讲字符串作为字符数组来处理,即用一个一维数组来存放一个字符串。如c[10]存放字符串“store”。为了测定实际字符串长度,C语言规定了一个“字符串结束标志”,即‘\0’。即遇到字符‘\0’时,表示字符串结束。
printf(“%5”,a[i][i]);输出主对角线数据
考虑输出次对角线数据,打印上三角的各数据
例将一个二维数组行和列元素互换,存到另一个二维数组中(转置)
算法:1 a数组初始化(或赋值)并输出;2用二重循环进行转置b[j][i]=a[i][j];输出b数组
对于n*n的二维数组,可以在同一个数组进行矩阵转置操作
H=104
I =105
S=115
=32
注意几个问题:用字符串给字符数组赋初值,系统自动加上空字符’\0’(终结符)
‘ ’空格字符的AscII编码为32
‘\0’空字符ASCII编码为0
两者均无法直接打印出来。
3)字符串的引用与输入输出
程序设计基础实验报告
实验一 用C 语言编写简单程序一、实验目的1. 熟悉VC6.0的编程环境,掌握运行C 程序的基本步骤。
2. 了解C 程序的基本框架,模仿例题编写简单的C 语言程序。
3. 正确书写算术表达式、赋值表达式和关系表达式。
4. 掌握基本输入输出函数的使用,正确调用C 语言提供的数学库函数。
5. 掌握简单的单步调试方法。
二、实验环境Windows XP ;Visual C++ 6.0。
三、实验内容1.在屏幕上显示一个句子“What is a computer?”。
2.求华氏温度150F 对应的摄氏温度。
计算公式如下:其中,c 表示摄氏温度;f 表示华氏温度。
3.输入x ,计算下列分段函数的值(保留2位小数),请调用sqrt 函数求平方根,调用pow 函数求幂。
4. 输入一个正整数m (0100)m ≤≤,求100i m i =∑。
四、实验要求1. 将上机验证正确的源代码写到实验报告上。
2.根据自己的真实感受,认真填写实验分析和实验心得以及问题和建议。
3.按时提交实验报告。
553299c f =⨯-⨯21(1)2 x<02()0x x f x ⎧+++⎪=≥一、实验目的1.熟练掌握关系表达式的使用。
2.熟练掌握使用else-if 语句实现多分支结构程序设计。
二、实验环境Windows XP ;Visual C++ 6.0。
三、实验内容1.输入x ,计算并输出下列分段函数sign(x)的值。
2.输入月薪salary ,输出应交的个人所得税tax (保留2位小数)。
按照2011年开始实行的新的个人所得税法,计算公式为:tax = rate*(salary-3500)-deduction 。
当salary≤3500时,rate=0、deduction=0当3500<salary≤5000时,rate=3%、deduction=0当5000<salary≤8000时,rate=10%、deduction=105当8000<salary≤12500时,rate=20%、deduction=555当12500<salary≤38500时,rate=25%、deduction=1005当38500<salary≤58500时,rate=30%、deduction=2775当83500<salary 时,rate=45%、deduction=135053.输入一个正整数n ,再输入n 个学生的百分制成绩,统计各等级成绩的个数。
数组程序设计实验报告
数组程序设计实验报告数组程序设计实验报告引言在计算机科学领域,数组是一种重要的数据结构,用于存储和操作大量相同类型的数据。
数组的使用广泛,无论是在算法设计还是软件开发中,都扮演着重要的角色。
本实验旨在通过编写数组程序,探索数组的特性和应用。
一、数组的定义与初始化数组是一种由相同类型的元素组成的集合,每个元素都可以通过索引访问。
在程序中,我们可以通过声明数组变量来定义一个数组。
例如,int numbers[5]就定义了一个包含5个整数的数组。
数组的初始化可以在声明时进行,也可以在后续的代码中进行。
二、数组的基本操作1. 访问数组元素数组元素可以通过索引来访问,索引从0开始。
例如,numbers[0]表示数组numbers的第一个元素。
通过循环遍历数组,我们可以逐个访问数组中的元素。
2. 修改数组元素数组元素的值可以通过索引进行修改。
例如,numbers[0] = 10将把数组numbers的第一个元素的值修改为10。
3. 数组的长度数组的长度是指数组中元素的个数。
在C语言中,可以通过sizeof运算符来获取数组的长度。
例如,sizeof(numbers) / sizeof(numbers[0])将返回数组numbers的长度。
三、数组的应用1. 数组的排序数组排序是数组程序设计中常见的任务之一。
常见的排序算法包括冒泡排序、选择排序和插入排序。
通过对数组元素进行比较和交换,可以将数组按照升序或降序排列。
2. 数组的搜索数组搜索是另一个常见的任务,它涉及在数组中查找特定的元素。
线性搜索是一种简单直观的搜索方法,它逐个比较数组元素,直到找到目标元素或搜索完整个数组。
二分搜索是一种更高效的搜索方法,它要求数组事先有序。
3. 多维数组除了一维数组,我们还可以使用多维数组来存储和处理更复杂的数据。
二维数组是最常见的多维数组形式,它可以看作是一个表格或矩阵。
通过使用行和列的索引,我们可以访问和修改二维数组中的元素。
C语言实验学生版(最新版)
实验一:简单的C程序设计(2学时)一、实验方式:一人一机二、实验目的:1、了解C语言程序的编译环境和编写过程。
2、掌握C语言程序在Visual C++ 6.0环境下的调试过程。
3、初步了解C语言程序的特点。
4、掌握C语言的数据类型。
三、实验内容:1、计算两个数x和y的和。
(教材P5【例1-2】)2、从键盘输入华氏温度h,输出摄氏温度c(摄氏温度=5/9*(华氏温度-32))。
(实验教材P18)3、给定圆环,输入内圆环半径r1、外圆环半径r2,求出圆环的面积。
(实验教材P27)4、从键盘上输入两个整数x、y,实现两个数的交换,并求出最大值、最小值和两个数的平均值。
(实验教材P21)5、输入并运行以下程序,分析运行结果。
(实验教材P27)#include <stdio.h>void main( ){int i,j;i=8; j=10;printf(“%d,%d\n”,++i,++j);i=8; j=10;printf(“%d,%d\n”,i++,j++);i=8; j=10;printf(“%d,%d\n”,++i,i);i=8; j=10;printf(“%d,%d\n”,i++,i);}四、实验程序代码:五、实验运行结果(截图):实验二:顺序结构程序设计(2学时)一、实验方式:一人一机二、实验目的:1、掌握标识符、常量、变量的定义及使用。
2、掌握C语言的常用运算符及表达式。
3、掌握单分支if语句的使用方法。
4、掌握双分支if-else语句的使用方法。
三、实验内容:1、从键盘输入一个3位整数,请输出该数的逆序数。
(实验教材P27)2、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。
(实验教材P27)3、判断箱子是正方体还是长方体。
(实验教材P33)4、有一函数: x (x<1)y= 2x-1 (1≤x<10)3x-11 (x≥10) 编写程序,输入x值,输出y值。
数组程序设计实验报告
数组程序设计实验报告《数组程序设计实验报告》在计算机科学领域,数组是一种非常重要的数据结构,它可以存储多个相同类型的数据,并且可以通过索引来访问和操作这些数据。
在本次实验中,我们将使用数组来设计和实现一些简单的程序,以加深对数组的理解和应用能力。
实验一:数组的基本操作在这个实验中,我们首先学习了如何声明和初始化数组,然后进行了一些基本的数组操作,比如访问数组元素、修改数组元素、以及遍历数组等。
通过这些操作,我们对数组的基本特性有了更深入的了解,并且能够更加灵活地使用数组来存储和处理数据。
实验二:数组的排序算法在这个实验中,我们学习了几种常见的数组排序算法,比如冒泡排序、选择排序和插入排序。
通过实现这些排序算法,我们深入理解了数组元素之间的比较和交换操作,以及不同排序算法的时间复杂度和空间复杂度。
同时,我们也学会了如何根据具体的需求选择合适的排序算法来优化程序性能。
实验三:数组的应用案例在这个实验中,我们将学习如何利用数组来解决实际的问题。
比如,我们可以使用数组来实现一个简单的学生成绩管理系统,或者用数组来存储和统计一组数据的频率分布。
通过这些案例,我们不仅能够加深对数组的理解,还能够提高自己的编程能力和解决问题的能力。
总结通过本次实验,我们对数组的基本操作、排序算法和应用案例有了更深入的了解,同时也提高了自己的编程能力和问题解决能力。
数组作为一种重要的数据结构,在实际的软件开发中有着广泛的应用,因此我们需要不断地学习和掌握数组的相关知识,以便更好地应用它们来解决实际的问题。
希望通过这次实验,我们能够更加熟练地使用数组,并且能够将所学到的知识应用到实际的软件开发中去。
《C程序设计》之数组实验报告
实验项目:数组(二)实验内容:实验1:输入两个字符串A和B,判断字符串B是否在A中出现,如果出现,给出在A中出现的位置(即B 串的第一个字符在A中第一次出现的位置,从一开始计)。
示例:A串:abcabcdeabcdefg B串:abcde结果:B串包含在A串中,位置是4实验2:输入10个人的姓名(拼音),用冒泡法排序,然后再用折半法查找给定的一个人名是否存在,如果存在给出位置。
姓名示例:Long Zhengji实验3:实现字符串联。
程序实现:程序:实验1:字符串的包含关系#include<stdio.h>#include<string.h>void main(){ char A[20],B[20];int n,m=0,i,j,a,b;printf("输入字符串A:");gets(A);printf("输入字符串B:");gets(B);a=strlen(A);b=strlen(B);printf("\n");for(i=0;i<=a-1;i++){ n=1;if(A[i]==B[0]){ n=0;for(j=1;j<=b-1;j++)if(A[i+j]!=B[j])n++;}if(!n){ printf("B串包含在A串中,位置是%d\n",i+1);m++;}}if(m==0)printf("B串不在A串中\n");}实验2:输入10个人的姓名(拼音),用冒泡法排序,然后再用折半法查找给定的一个人名是否存在,如果存在给出位置。
#include <stdio.h>#include <string.h>#define N 11void main(){char temp[10],name[10];char c;char str[N][20];int i,j,sign,top,bott,loca,flag=1,mid;printf("请输入10个人的名字:");printf("\n");for(i=0;i<11;i++)gets(str[i]);for(j=0;j<11;j++)for(i=0;i<10-j;i++)if(strcmp(str[i],str[i+1])>0){strcpy(temp,str[i]);strcpy(str[i],str[i+1]);strcpy(str[i+1],temp);}printf("对此10人的名字的排序为:\n");for(i=0;i<11;i++)printf("%s\n",str[i]);printf("\n");while(flag){printf("要查找的名字:");scanf("%s",name);sign=0;top=0;bott=N-1;if(strcmp(name,str[0])<0||strcmp(name,str[N-1])>0) loca=-1;while((!sign)&&(top<=bott)){mid=(bott+top)/2;if(strcmp(name,str[mid])==0){loca=mid;printf("找到了:%s,位于:%d\n",name,loca+1); sign=1;}else if(strcmp(name,str[mid])<0)bott=mid-1;elsetop=mid+1;}if(!sign||loca==-1)printf("没有此名\n");printf("是否继续(Y/N)?");scanf(" %c",&c);if(c=='N'||c=='n')flag=0;}}实验3:实现字符串联:#include<stdio.h>void main(){char s1[80],s2[40];int i=0,j=0;printf("输入字符1:");scanf("%s",s1);printf("输入字符2:");scanf("%s",s2);while(s1[i]!='\0')i++;while(s2[j]!='\0')s1[i++]=s2[j++];s1[i]='\0';printf("串起来的字符是:%s\n",s1);}运行结果:实验1:字符串的包含关系B在A中:B不在A中:实验2:输入10个人的姓名(拼音),用冒泡法排序,然后再用折半法查找给定的一个人名是否存在,如果存在给出位置。
数组程序实验报告
数组程序实验报告
《数组程序实验报告》
在计算机科学中,数组是一种非常重要的数据结构,它可以用来存储一系列相同类型的数据。
在本次实验中,我们将对数组程序进行实验,并对其进行详细的报告。
实验目的:
1. 了解数组的定义和基本操作
2. 掌握数组的初始化和赋值
3. 理解数组的遍历和查找
4. 掌握数组的排序和插入操作
实验步骤:
1. 定义一个数组并初始化
2. 对数组进行赋值操作
3. 遍历数组并查找特定元素
4. 对数组进行排序操作
5. 实现数组的插入操作
实验结果分析:
在实验过程中,我们成功地定义了一个数组并进行了初始化,然后对数组进行了赋值操作。
通过遍历数组并查找特定元素,我们发现数组的查找操作是非常高效的。
在对数组进行排序操作时,我们发现数组的排序操作能够快速地对数据进行排序。
最后,我们实现了数组的插入操作,成功地向数组中插入了新的元素。
结论:
通过本次实验,我们对数组的定义和基本操作有了更深入的了解,掌握了数组的初始化、赋值、遍历、查找、排序和插入操作。
数组作为一种重要的数据结构,在实际编程中具有广泛的应用价值,我们需要不断地加强对数组的理解和掌握,以便更好地应用于实际项目中。
通过本次实验的实践操作,我们对数组的实际应用有了更深入的了解,相信在今后的编程实践中,我们能够更加熟练地运用数组来解决实际的问题。
希望通过本次实验报告的分享,能够对大家有所帮助,也希望大家能够在今后的学习和工作中不断地加强对数组的理解和应用。
实验四实验报告-数组
实验四函数一、实验目的1.掌握函数的定义、函数的说明和调用。
2.掌握函数的参数及其传递方式,函数值的正确返回。
二、实验内容1.[目的]掌握标准库函数的说明和调用方法。
[题目内容]编写一个程序,首先显示一个菜单,然后根据用户的选择,输入数据后,执行相应的操作。
[输入]用户选择和函数自变量值[输出]如下菜单:=======MENU======1.。
sin2.。
cos3.。
pow4.。
sqrt0.。
exit==================[提示]使用标准库函数、多分支选择结构。
源代码:#include <stdio.h>#include <math.h>void main(){int choice,n;double x,z;printf ("======MUNE======\n");printf ("1..........sin\n");printf ("2..........cos\n");printf ("3..........pow\n");printf ("4..........sprt\n");printf ("0..........exit\n");printf ("请输入:");scanf ("%d",&choice);switch (choice){case '1':{printf ("请输入角度:");scanf ("%lf",&x);x=(x*3.14/180);z=sin(x);printf ("%lf的sin值为:%lf",x,z);break;}case '2':{printf ("请输入角度:");scanf ("%lf",&x);x=(x*3.14/180);z=cos(x);printf ("%lf的cos值为:%lf",x,z);break;}case '3':{printf ("请输入x和n:");scanf ("%lf%d",&x,&z);z=pow(x,n);z=sin(x);printf ("%lf的sin值为:%lf",x,z);break;}case '4':{printf ("请输入x:");scanf ("%lf",&x);if (x>=0){z=sprt(x);printf ("%lf的sqrt值为:%lf",x,z);}elseprintf ("Wrong");break;}case '0':{break;default:printf ("Wrong");}printf("\n");}2.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。
数组实验报告实验小结
一、实验背景随着计算机技术的不断发展,数组作为一种基本的数据结构,在编程领域得到了广泛的应用。
为了更好地理解和掌握数组的相关知识,我们进行了一系列的数组实验。
本次实验报告将对实验过程进行总结,并对实验结果进行分析。
二、实验目的1. 理解数组的基本概念和特点;2. 掌握数组的创建、访问和操作方法;3. 熟悉数组在编程中的应用;4. 培养实验操作能力和问题解决能力。
三、实验内容1. 数组的定义与创建2. 数组的初始化3. 数组元素的访问与修改4. 数组的排序与查找5. 数组的应用实例四、实验过程1. 数组的定义与创建实验一:定义一个整型数组,并初始化为10个元素。
代码如下:```c#include <stdio.h>int main() {int arr[10];// 初始化数组for (int i = 0; i < 10; i++) {arr[i] = i 2;}// 打印数组元素for (int i = 0; i < 10; i++) {printf("%d ", arr[i]);}printf("\n");return 0;}```2. 数组的初始化实验二:使用初始化列表直接初始化数组。
代码如下:```c#include <stdio.h>int main() {int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};// 打印数组元素for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) { printf("%d ", arr[i]);}printf("\n");return 0;}```3. 数组元素的访问与修改实验三:访问和修改数组元素。
代码如下:```c#include <stdio.h>int main() {int arr[5] = {1, 2, 3, 4, 5};// 访问数组元素printf("The first element is: %d\n", arr[0]);// 修改数组元素arr[0] = 10;printf("After modification, the first element is: %d\n", arr[0]); return 0;}```4. 数组的排序与查找实验四:使用冒泡排序算法对数组进行排序。
c语言程序设计实验指导答案
太原理工大学现代科技学院C语言程序设计课程实验报告专业班级学号姓名指导教师焦雄5.#include <stdio.h> void main(){int a=10,n=5;a+=a;printf("%d\n",a);a=10,a-=2;printf("%d\n",a);a=10,a*=2+3;printf("%d\n",a);a=10,a/=a+a;printf("%d\n",a);a=10,a%=(n%=2);printf("%d\n",a);a=10,a+=a-=a*=a;printf("%d\n",a); }遇到的问题和解决方法心得体会实验三简单程序、分支程序和循环程序设计实验名称实验目的和要求1.理解C语言程序的基本结构和实现基本结构的语句;2.熟练应用赋值、输入和输出语句;3.理解并掌握关系运算符、逻辑运算符及其表达式的使用;4.熟练掌握if语句、switch语句、while语句、do—while语句和for语句的用法;实验内容1.输入并运行第3章例3-3、例3-6中的程序,通过输出结果理解对应的格式说明。
2.输入并运行第3章例3-8、例3-10中的程序,注意输入数据的格式。
3.已知圆柱半径r=1.5,圆柱高h=3,编程求圆周长,圆面积和圆柱体积。
4.输入一百分制成绩,输出成绩等级A、B、C、D、E。
90分以上为A,80~89为B,70~79分为C,60~69分为D,60分以下为E。
要求程序能处理错误的输入数据。
5.利用公式:π/4=1-1/3+1/5-1/7+……,求π的近似值,直到最后一项的绝对值小于10-6为止。
(fabs(t)表示t的绝对值,1e-6=1*10-6)。
6.求100-200间所有素数。
7.输出三角形的九九乘法口诀表。
8.打印水仙花数。
水仙花数是指一个3位数,其各位数字立方和等于该数本身。
数组程序实验报告
数组程序实验报告数组程序实验报告引言:数组是一种常见的数据结构,它可以存储多个相同类型的元素,并通过索引来访问和操作这些元素。
在本次实验中,我们将学习如何使用数组来解决一些实际问题,并通过编写相应的程序来验证其有效性。
实验目的:1. 理解数组的概念和基本操作。
2. 掌握数组在不同场景下的应用。
3. 提高编程能力和问题解决能力。
实验内容:本次实验分为两个部分,分别是数组的创建和初始化,以及数组的操作和应用。
一、数组的创建和初始化:在编写数组程序之前,我们首先需要了解如何创建和初始化一个数组。
数组的创建可以通过声明一个变量并指定其类型为数组来实现,如int[] numbers;。
而数组的初始化则可以通过直接赋值或使用循环来实现。
1. 直接赋值初始化:例如,我们可以通过以下方式创建一个整型数组,并直接给数组元素赋值:int[] numbers = {1, 2, 3, 4, 5};2. 使用循环初始化:数组的初始化也可以通过使用循环来实现,这样可以方便地对数组进行批量赋值。
int[] numbers = new int[5];for (int i = 0; i < numbers.length; i++) {numbers[i] = i + 1;}二、数组的操作和应用:在实际应用中,我们经常需要对数组进行一些操作,例如遍历、查找最大/最小值、排序等。
下面我们将介绍几个常见的数组操作和应用。
1. 数组的遍历:遍历数组可以通过使用循环结构来实现,通过循环遍历数组的每个元素,并进行相应的操作。
int[] numbers = {1, 2, 3, 4, 5};for (int i = 0; i < numbers.length; i++) {System.out.println(numbers[i]);}2. 数组的查找:在数组中查找特定元素可以使用线性查找或二分查找等算法。
这里我们以线性查找为例,来实现查找某个元素的功能。
程序设计基础实验报告
实验一 用C 语言编写简单程序一、实验目的1. 熟悉VC6.0的编程环境,掌握运行C 程序的基本步骤。
2. 了解C 程序的基本框架,模仿例题编写简单的C 语言程序。
3. 正确书写算术表达式、赋值表达式和关系表达式。
4. 掌握基本输入输出函数的使用,正确调用C 语言提供的数学库函数。
5. 掌握简单的单步调试方法。
二、实验环境Windows XP ;Visual C++ 6.0。
三、实验内容1.在屏幕上显示一个句子“What is a computer?”。
2.求华氏温度150F 对应的摄氏温度。
计算公式如下:其中,c 表示摄氏温度;f 表示华氏温度。
3.输入x ,计算下列分段函数的值(保留2位小数),请调用sqrt 函数求平方根,调用pow 函数求幂。
4. 输入一个正整数m (0100)m ≤≤,求100i m i =∑。
四、实验要求1. 将上机验证正确的源代码写到实验报告上。
2.根据自己的真实感受,认真填写实验分析和实验心得以及问题和建议。
3.按时提交实验报告。
553299c f =⨯-⨯21(1)2 x<02()0x x f x ⎧+++⎪=≥一、实验目的1.熟练掌握关系表达式的使用。
2.熟练掌握使用else-if 语句实现多分支结构程序设计。
二、实验环境Windows XP ;Visual C++ 6.0。
三、实验内容1.输入x ,计算并输出下列分段函数sign(x)的值。
2.输入月薪salary ,输出应交的个人所得税tax (保留2位小数)。
按照2011年开始实行的新的个人所得税法,计算公式为:tax = rate*(salary-3500)-deduction 。
当salary≤3500时,rate=0、deduction=0当3500<salary≤5000时,rate=3%、deduction=0当5000<salary≤8000时,rate=10%、deduction=105当8000<salary≤12500时,rate=20%、deduction=555当12500<salary≤38500时,rate=25%、deduction=1005当38500<salary≤58500时,rate=30%、deduction=2775当83500<salary 时,rate=45%、deduction=135053.输入一个正整数n ,再输入n 个学生的百分制成绩,统计各等级成绩的个数。
实验4使用数组的程序设计
C语言程序设计实验报告实验4 使用数组的程序设计一、实验目的(1)掌握一维数组和二维数组的定义、赋值和输入输出方法。
(2)掌握字符数组的使用。
(3)掌握与数组有关的算法。
二、实验内容及步骤1、检验并打印幻方矩阵在下面的5*5阶幻方矩阵中,每一行、每一列、每一对角线上的元素之和都是相等的,试编写程序将这些幻方矩阵中的元素读到一个二维整型数组中,然后检验其是否为幻方矩阵,并将其按如下格式显示到屏幕上。
17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9程序代码:#include<stdio.h>main(){int a[5][5],i,j,sr,sc,st1=0,p=0,st2=0;printf("请输入一个方阵:\n");for(i=0;i<5;i++){for(j=0;j<5;j++)scanf("%d",&a[i][j]);}for(i=0;i<5;i++){st1=st1+a[i][i];//主对角线的和st2=st2+a[i][4-i];}//次对角线的和if(st1==st2)p++;for(i=0,sr=0;i<5;i++){for(j=0,sc=0;j<5;j++){sr=sr+a[i][j];//行的和if(sr!=st1)break;sc=sc+a[j][i];//列的和if(sc!=st1)break;}}if(p==1&&i==5){printf("这是一个幻方矩阵\n");for(i=0;i<5;i++){for(j=0;j<5;j++)printf("%d\t",a[i][j]);printf("\n");}}elseprintf("这不是一个幻方矩阵\n");}运行结果2、完成以下程序,并进行调试某班期末考试科目为数学、英语和计算机,有最多不超过30人参加考试,考试后要求:1)计算每个学生的总分和平均分;2)按总分成绩由高到低排出成绩的名次;3)打印出名次表,表格内包括学生学号、各科分数、总分和平均分;4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数。
《高级语言程序设计A》实验指导书
实验指导书学院电子电气工程学院课程名称高级语言程序设计A课程代码020111课程学时48实验总学时16课程名称:高级语言程序设计A实验1 顺序结构程序设计实验2 选择结构程序设计实验3 循环结构程序设计实验4 数组程序设计实验实验5 字符数组程序设计实验6 函数程序设计实验7 指针程序设计实验8 结构体程序设计实验时间:第3,5,6,7,8,9,10,11 周1.掌握运行C程序的环境与方法。
2.掌握简单C程序的设计。
3.掌握基本输入输出格式的使用。
二、实验内容1.熟悉C的工作环境。
2.编译、运行C的源程序。
3.求两个数之和(静态输入和动态输入)。
在两种情况下完成:①数据在程序内部定义变量时赋初值,或者通过赋值语句赋值。
②数据通过scanf( )函数输入,注意变量前面的取地址符号。
4.设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆柱表面积、圆柱体积。
要求用scanf 输入数据,输出计算结果。
*5. 扩展:请编程序将“China”译成密码,密码规律是:用原来的字母后面第四个字母代替原来的字母。
分别用putchar函数和printf函数输出密码。
三、实验要求1.用VC++6.0 完成程序设计并上机调试通过。
2.掌握运行C程序的环境与方法3.掌握基本输入输出格式的使用。
四、实验设备1.硬件要求:每个学生每次上机实验使用一台计算机。
2.软件要求:Visual C++6.0和Windows系列操作系统五、实验报告要求1.实验报告用学校统一的实验报告纸书写。
2.记录实验数据。
3.提供源程序清单。
1.掌握关系表达式与逻辑表达式的使用2.掌握if语句、if-else语句、if-else if-else if... else语句的使用。
3.掌握switch语句的使用。
二、实验内容1.输入a、b、c三个整数,求出其中最大者,并连同三个源数据一起输出。
2.给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。
数组程序设计实验结论
数组程序设计实验结论
在这次实验中,我们研究了数组的程序设计。
数组是一种常见的数据结构,它是由一组相同类型的元素组成的有序集合。
在这次实验中,我们研究了用C语言实现数组的基本操作,
包括插入元素、删除元素、搜索元素和排序元素等。
我们还研究了如何实现一个动态数组,它可以自动扩展容量,以容纳更多的元素。
我们也研究了如何使用数组来实现多项式的表达式,以及如何计算这个多项式的值。
我们还探讨了如何使用数组来存储二维图形的点的坐标,以及如何在图形中画出线段、圆和椭圆等图形。
最后,我们还研究了数组的时间复杂度,即操作数组所需要的时间。
我们发现,插入、删除和搜索元素的时间复杂度均为O(n),而排序数组的时间复杂度可以达到O(nlogn)。
总的来说,我们通过本次实验,对数组的程序设计有了更深入的理解。
我们研究了如何实现和使用数组,并了解了数组的时间复杂度。
数组的灵活性和高效的操作使它成为编程中最常用的数据结构之
一,因此,本次实验对我们的研究和实践都有很大的帮助。
C语言程序设计实验
实验一顺序结构程序设计一、实验目的1.掌握C语言中使用最多的一种语句——赋值语句的使用方法。
2.掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。
二、实验的内容和步骤1.以下程序多处有错。
要按下面指定的形式输入数据和输出数据时,请对该程序做相应的修改。
#include<stdio.h>void main(){double a,b,c,s,v;printf(input a,b,c:\n);scanf("%d%d%d",a,b,c);s=a*b;v=a*b*c;printf("%d%d%d",a,b,c);printf("s=%f\n",s,"v=%d\n",v);}当程序执行时,屏幕的显示和要求输入形式如下:input a,b,c:1.0 2.0 3.0→此处的1.02.03.0是用户输入的数据a=1.000000b=2.000000,c=3.000000→此处是要求的输出格式s=2.000000,v=6.000000相关知识:①检查程序错误时应注意几点:a)有时程序中一个错误会引发一系列错误信息,工作中不应被这种情况所迷惑,改正了一些错误后应及时对源程序重新进行编译;b)如果修改错误时增删了行,或是一个行里有多个错误,更正前面错误时增删了字符,就可能导致系统对错误定位不准,此时应该重新编译;c)系统给出的警告信息一般都说明程序中有问题,因为系统发现了可疑情况。
对于警告信息同样要逐个仔细分析。
除非明确认定不是问题,否则绝不能简单地认为不是错误而不予理睬。
实际上,很多警告都是因为程序中确实有严重的隐含错误。
d)在连接中发现新错误也需要仔细检查和修改程序。
连接时发现的错误一般是由于函数名或外部变量名字写错,或者一些函数、外部变量没有定义引起的。
系统不能对连接错误给以自动定位,只能提供有关的名字信息等。
实验4 数组程序设计
流程图:
输入十个分数存入数组a[i]中
பைடு நூலகம்for(i=1;i<=9;i++)
min=i
for(j=i+1;j<=10;j++)
a[min]>a[j]
TF
for(i=1;i<11;i++)
scanf("%d",&a[i]);
printf("\n");
for(i=1;i<=9;i++)
{min=i;
for(j=i+1;j<=10;j++)
if(a[min]>a[j])min=j;
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
for(sum=0,i=3;i<=8;i++)
学习心得(可选):程序越来越难,知识的连接性越来越强,分析时有些困难。以后要多做些相关的例题来加强前后知识的连接
【教师评语和成绩】
成绩:指导教师:日期:
sum=sum+a[i];
average=sum/6.0;
printf("The store is:%f",average);
getch();
}
运行结果:
学习心得(可选):不用泡沫法,想了很久,最后还是从书上的练习题得到的启示,觉得编辑程序都是相通的要灵活运用。
2、输入5个字符串存入一个二维字符数组中,用冒泡法排序后,按字典顺序输出。
程序设计语言实验指导书12版
《程序设计语言》实验指导书徐东燕编北方民族大学计算机科学与工程学院2012年9月目录实验一 C语言编程环境熟悉及简单程序的编写(验证型实验,2学时) (3)实验二分支结构程序设计(设计型实验,2学时) (6)实验三循环结构程序设计(设计型实验,2学时) (8)实验四函数程序设计(设计型实验,2学时) (10)实验五数组程序设计((设计型实验,2学时) (12)实验六指针程序设计(设计型实验,2学时) (14)实验七结构体程序设计(设计型实验,2学时) (15)实验八程序结构与递归函数(综合性实验,2学时) (16)实验九指针进阶及综合程序设计(综合型实验,2学时) (17)实验十文件的程序设计(设计型实验,2学时) (18)参考文献 (20)课程编号:11101203 课程类别:专业基础课适用专业:计算机科学与技术、软件工程、网络工程、信管专业课程总学时:76 实验课学时:20开设实验项目数:10实验一C语言编程环境熟悉及简单程序的编写(验证型实验,2学时)一、实验目的与要求实验环境1.熟悉Cfree开发环境或Visual C++ 6.0的使用环境;2.掌握Cfree开发环境或Visual C++ 6.0环境下建立C程序的步骤;3.掌握C程序在Cfree开发环境或Visual C++ 6.0环境下的编辑、调试和运行的步骤、方法;4.理解C程序的一般结构;5.理解并掌握程序的顺序结构程序设计;6.在Cfree开发环境或Visual C++ 6.0环境下编写并运行基本的C程序;7.理解程序调试思想,能修改简单的C语法错误;8.掌握算术、赋值表达式,输入输入语句和简单数据处理方法。
二、实验环境1.微机每人一台,要求PⅢ以上处理器。
2.windows2000/xp操作系统。
3.Cfree开发环境或或Visual C++ 6.0开发环境。
三、实验预习与准备1.计算机基本操作练习。
2.Cfree开发环境或Visual C++ 6.0软件使用预习。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验4 实验4 数组程序设计
一、实验目的和要求
1、掌握一维和二维数组的定义、赋值和输 、掌握一维和二维数组的定义、 入输出的方法 ; • 2、掌握字符数组和字符串函数的使用; 、掌握字符数组和字符串函数的使用; • 3、掌握与数组有关的算法(特别是排序算 、掌握与数组有关的算法( 法)。
二、实8。 页习题 2、编程实现教材第 、编程实现教材第153页习题 。 页习题7.9。 页习题
• 3、编程实现教材第129页习题 ; 、编程实现教材第 页习题6.9; 页习题
• 4、编程实现教材第 、编程实现教材第130页习题 页习题6.13 。 页习题