计算机科学与技术第次实验报告_第1页
计算机科学与技术第次实验报告_第2页
计算机科学与技术第次实验报告_第3页
计算机科学与技术第次实验报告_第4页
计算机科学与技术第次实验报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

姓 名: 班 级:学 号:实验时间: 2018 年 5 月 10 日实验题目

1:输入两个整数数组,每个数组有五个整数,将两者和并并排列输出。设计思想:定义三个数组,将两组数据存储到第三个数组中

,再用冒泡排序对其由大到小排序并输出。实验代码及注释:#include

<stdio.h>#include

<stdlib.h>#define

N

int

main(){int

a[5],b[5],c[N];//第一组数据,第二组,合并数组int

i,j,t;//循环变量,中间变量printf("输入第一组数据:\n");//输入数据for(i=0;i<5;i++)scanf("%d",&a[i]);printf("输入第二组数据:\n");for(i=0;i<5;i++)scanf("%d",&b[i]);for(i=0;i<5;i++){c[i]=a[i];//两组数据合并c[i+5]=b[i];}for(i=0;i<N-1;i++)//冒泡排序从大到小{for(j=0;j<N-i-1;j++){if(c[j]<c[j+1]){t=c[j];c[j]=c[j+1];c[j+1]=t;}}}for(i=0;i<10;i++)printf("%d\t",c[i]);//排序:冒泡,选择,return

0;}验证与结论:据是从第

0

须掌握。实验题目

2:某公司生成5

种产品,每周记录生产的每种产品数量和销售数量。每个月月末,公司将对其生产规划进行评估。该评估需要以下一个或多个信息。每周生成和销售的数量;所有生产产品的总量;所有销售产品的总量;每种产品生产和销售的总量。假设生产和销售的产品和销售分别用二维数组M和S其中

M[i][j]表示第

i

周生产第

j

种产品的数量。S[i][j]表示第

i周销售第

j

C

来表示每种产品的价格。其中,C[j]表示第

j

种产品的价格。数组

M、S

C

的值都在程序中输入。设计思想:声明四个数组函数:每周生成和销售的数量,所有生产产品的总量,所有销售产品的总量,每种产品生产和销售的总量。然后直接调用使其对主函数中数组值直接改变,最后用循环输出。实验代码及注释:#include

<stdio.h>#include

<stdlib.h>void

money(double

mva[5][6],double

m[5][6],double

c[6]);//函数声明void

sum1(double

sweek[5],double

m[5][6]);void

sum2(double

mpr[6],double

m[5][6]);double

sum3(double

m[5]);int

main(){int

double

M[5][6],S[5][6],C[6];//

第几周生产第几种产品的数量,第几周销售第几种产品的数量,每种产品的价格doubleMvalue[5][6],Svalue[5][6],Mweek[5],Sweek[5],Mproduct[6],Sproduct[6];double

Mtotal,Stotal;for(i=1;i<=4;i++){for(j=1;j<=5;j++){ printf("

%d

%d

数量:",i,j);scanf("%lf",&M[i][j]);printf("

%d

%d

数量:",i,j);scanf("%lf",&S[i][j]);}}printf("\n");for(j=1;j<=5;j++){

种产品的价格:",j);scanf("%lf",&C[j]);}printf("\n");money(Mvalue,M,C);//调用函数money(Svalue,S,C);sum1(Mweek,Mvalue);sum1(Sweek,Svalue);sum2(Mproduct,Mvalue);sum2(Sproduct,Svalue);Mtotal=sum3(Mweek);Stotal=sum3(Sweek);for(i=1;i<=4;i++){for(j=1;j<=5;j++){printf("

%d 周

%d值%.2lf\n",i,j,Mvalue[i][j]);printf("

%d 周

%d值%.2lf\n",i,j,Svalue[i][j]);printf("

%d值%.2lf\n",j,Mproduct[j]);printf("

%d

价种

价种

价种

价值%.2lf\n",j,Sproduct[j]);}printf("在第%d

周生产的产品价值%.2lf\n",i,Mweek[i]);printf("在第%d

周所有产品的价值%.2lf\n",i,Sweek[i]);}printf("在本月里生产所有产品总价值%.2lf\n",Mtotal);printf("在本月里销售所有产品总价值%.2lf\n",Stotal);return

0;}void

money(double

mva[5][6],double

m[5][6],double

c[6])//

第i

周生产和销售第

j

种产品的价值{int

i,j;for(i=1;i<=4;i++){for(j=1;j<=5;j++){mva[i][j]=m[i][j]*c[j];// printf("

%d

%d

价值%lf\n",i,j,m[i][j]*c[j]);}}}void

sum1(double

sweek[5],double

i

周生产和销售的产品的价值{int

i,j;for(i=1;i<=4;i++){sweek[i]=0;//数组初始化for(j=1;j<=5;j++){sweek[i]=sweek[i]+m[i][j];}}}void

sum2(double

mpr[6],double

m[5][6])//在本月生产和销售第j

种产品的价值{int

i,j;for(j=1;j<=5;j++){mpr[j]=0;//数组初始化for(i=1;i<=4;i++){mpr[j]=mpr[j]+m[i][j];}}}double

sum3(double

m[5])//在本月里生产和销售所有产品总价值{int

i;double

sum3=0;for(i=1;i<=4;i++){sum3=sum3+m[i];}return

sum3;}验 证

结 论与结 论否用函数统一起来,否则在后期维护上将变得困难许多。实验题目

3:编程将一个字符串插入到另一个字符串的第n

个位置。设计思想:使用

strlen

函数计算数组长度,然后使用循环用倒序赋值使

a

数组在第

n

个位置及以后字符向后挪数组b

b

赋给

a

的空位。实验代码及注释:#include

<stdio.h>#include

<string.h>int

main(){int

n,count1,count2,i,j;//位置,字符串长度,循环变量printf("输入

n

值:\n");scanf("%d",&n);char

a[20];//默认长度为

20char

b[20];printf("输入

a:\n");scanf("%s",a);printf("输入

b:\n");scanf("%s",b);count1=strlen(a);//计算字符串

a

b

的长度count2=strlen(b);for(i=count1-1;i>=(n-1);i--)//倒序赋值,使

a

在第

n

个位置及以后字符向后挪

count2

位a[i+count2]=a[i];i=n-1+count2;//对

i

重新赋值为

n-1+count2for(j=count2-1;j>=0;j--)//倒序赋值将

b

赋给

a

空位{a[i]=b[j];i--;}for(j=0;j<count1+count2;j++)printf("%c",a[j]);return

0;}验 证 与 结 论 :总结与心得体会:输入字符串后末尾会有一个

\0,在赋值时必须极为小心,有可能会使程序提前终止得不到预期的效果,另外利用

strlen

函数计算数组长度时不包括末尾的\0。实验题目

4:编写一个程序,使输入的一个字符串按反序存放,在主函数中输入输出字符。设计思想:输入字符串存储在

a

数组中,利用

strlen

函数计算数组

a

长度,再用循环倒序存储在

b

数组中并输出。实验代码及注释:#include

<stdio.h>#include

<string.h>#define

n

100//宏定义

n

值为

100int

main(){char

a[n],b[n];//定义字符串数组int

i,j=0;//在数组中存储位置printf("请输入字符:\n");gets(a);//输入字符串i=strlen(a)-1;//数组长度减一for(;i>=0;i--)//倒序输出存储{b[j]=a[i];//倒序存储printf("%c",a[i]);j++;}return

0;}验 证 与 结 论 :总结与心得体会:利用scanf函数输入字符串时无法输入空格,故用了gets函数来输入字符串。实验题目

5:编写程序,从键盘输入一行字符,统计其中英文字母、空格、数字和其他字符的个数。

a

存储在数组

b

中,再利用

ASCII

码的范围对其进行统计输出。实验代码及注释:#include

<stdio.h>#include

<string.h>#define

n

200//宏定义

n

值为

200int

main(){char

a[n];//定义字符串数组int

i,j;//循环变量int

count1=0,count2=0,count3=0,count4=0;//英文字母、空格、数字和其他字符的个数int

b[n];//

整型数组printf("请输入字符:\n");gets(a);//输入字符j=strlen(a);//将数组

a

的长度赋给

jfor(i=0;i<j;i++){b[i]=a[i];//将字符转换成

ASCII

码存储在

b

数组中}for(i=0;i<j;i++)//用

ASCII

码进行统计{if((b[i]>=65&&b[i]<=90)||(b[i]>=97&&b[i]<=122))//

英文字母的范围count1++;else

if(b[i]==32)//空格的范围count

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论