C语言实验报告-----数组

时间:2024.4.7

实验

姓名: 学号: 实验日期:

1.     实验目的和要求

(1)掌握一维数组与二维数组的定义、使用及初始化方法。

(2)学习数组作为函数参数的用法。

(3)掌握字符数组和字符串函数的使用方法。

(4)掌握与数组有关的常用排序算法,进一步理解模块化程序设计的方法。

(5)掌握字符、字符串的输入/输出方法。

(6)掌握字符数组的使用。

(7)学会使用字符串的指针和指向字符串的指针变量。

2.     实验内容:实验指导书中的实验六、实验七

3.     实验步骤

实验六数组部分:

6-1:我使用的算法:定义一个数组s[i],用s[1]~s[5]代表5个等级,然后采用循环将20个评价分别对数组进行累加,即可得出结果

程序的运行测试结果如下图所示(考虑各种情况下的运行结果):

#include<stdio.h>

void main()

{

       int s[6];

       int i,n;

       for(i=1;i<=5;++i)

              s[i]=0;

       printf("请输入数据:\n");

       for(i=1;i<=20;++i)

       {

              scanf("%d",&n);

              if(!n)break;

              ++s[n];

       }

       printf("\n\n评价结果是:\n");

       for(i=1;i<=5;++i)

              printf("%4d     %d\n",i,s[i]);

}

6-2:该程序的功能是:将数组xx(有n个元素)的前k(k<n)个元素变为后k个元素,且两段元素顺序不变

程序运行结果如下图所示:

#include<conio.h>

#include<stdio.h>

void main()

{

       int n,k,xx[20];

       int i,j,t;

       printf("\nPlease enter a number:");

       scanf("%d",&n);

       printf("\nPlease enter %d numbers:",n);

       for(i=0;i<n;i++)

              scanf("%d",&xx[i]);

       printf("\nPlease enter another number:");

       scanf("%d",&k);

       for(i=0;i<k;i++)

       {

              t=xx[0];

              for(j=1;j<n;j++)

                     xx[j-1]=xx[j];

                  xx[n-1]=t;

       }

       printf("\nAfter moving:\n");

       for(i=0;i<n;i++)

              printf("%3d",xx[i]);

       printf("\n");

}

6-3 :该程序的功能是:对数组a中n种商品价格进行统计,并将各个价格段的商品个数存入对应数组b中

程序运行结果如下图所示:

6-4.:我使用的算法为:先对10个数进行排序输出,再输入一个数,再与之前排序后的数进行比较,并插入其中

程序运行结果如下图所示:

#include<stdlib.h>

int main()

{

 int a[10],b[11],i,j,t,k;

 printf("请输入10个整数:\n");

 for(i=0;i<10;i++)

 {

 scanf("%d",&a[i]);

 }

 for(i=0;i<10;i++)

 {

 for(j=0;j<9;j++)

 {

  if(a[j]>a[j+1])

  {

   t=a[j];

      a[j]=a[j+1];

   a[j+1]=t;

  }

 }

 }

 for(i=0;i<10;i++)

 {

  printf("%-5d",a[i]);

 }

 printf("\n");

    for(i=0;i<11;i++)

 {

  b[i]=a[i];

 }

 printf("请输入一个整数k:\n");

 scanf("%d",&k);

 b[10]=k;

 for(i=0;i<11;i++)

 {

  for(j=0;j<10;j++)

   if(a[j]>b[j+1])

   {

    t=b[j];

    b[j]=b[j+1];

    b[j+1]=t;

   }

 }

 printf("\n新数列是:\n");

 for(i=0;i<11;i++)

 {

  printf("%-5d",b[i]);

 }

 printf("\n");

    return 0;

}

6-5:我使用的算法为:比较数组s与数组str元素是否相同,相同则n+1,最后输出

程序运行结果如下图所示:

main()

{

       char str[20],s;

       int i,n=0;

       printf("请输入字符串:\n");

       gets(str);

       printf("输入需要统计的字符串s:\n");

       s=getchar();

              for(i=0;i<=20;i++)

                     if(str[i]==s)

                            n++;

                     printf("%d\n",n-1);

}

6-6 (选作):我使用的算法为:请用文字描述一下

程序运行结果如下图所示:

6-7 (选作):我使用的算法为:请用文字描述一下

程序运行结果如下图所示:

7-1 该程序的功能是:

程序运行结果如下图所示:

void main()

{

       char a[40],b[40];

       int i,j;

       printf("Enter the string:");

       scanf("%s",a);

       i=j=0;

       while(a[i]!='\0')

       {

              if(!(a[i]>='0'&&a[i]<='9'))

              {

                     b[j]=a[i];j++;

              }

              ++i;

       }

       b[j]='\n';

              printf("%s",b);

}

7-2:我使用的算法为:请用文字描述一下

程序运行结果如下图所示:

main()

{

       char a[20],b[20];

       int i,j;

       printf("请输入一个字符串:\n");

       gets(a);

       printf("请输入另一个字符串:\n");

       gets(b);

       for(i=0;i<20;i++)

       {

              if(a[i]==0)

                     break;

       }

       for(j=0;j<20;j++)

       {

              if(b[j]!=0)

              {

                     a[i]=b[j];

             

              }

              if(b[j]==0)

                     break;

              i++;

       }

       a[i]='\0';

       printf("%s",a);

}

7-3:我使用的算法为:请用文字描述一下

程序运行结果如下图所示:

main()

{

       char a[100];

       int b[3],i;

       for(i=0;i<3;i++)

              b[i]=0;

       printf("请输入一个字符串:\n");

       gets(a);

       for(i=0;i<100;i++)

       {

              if(a[i]>='a'&&a[i]<='z')

                     b[0]++;

              else if(a[i]>='0'&&a[i]<='9')

                     b[1]++;

              else b[2]++;

              if(a[i]==0)

                     break;

       }

       printf("小写字符:%-5d数字:%-5d其他字符:%-5d",b[0],b[1],b[2]);

}

7-4:我使用的算法为:请用文字描述一下

程序运行结果如下图所示:

main()

{

       char a[20],b;

       int i;

       printf("请输入一个字符串:\n");

       gets(a);

       printf("请输入一个字符:\n");

       scanf("%c",&b);

       for(i=0;i<20;i++)

          if(a[i]==b)

       printf("首次出现的位置是:%d\n",i+1);

}

7-5:我使用的算法为:请用文字描述一下

程序运行结果如下图所示:

main()

{

       int i,j,k=0;

    char s[255];

    while((s[k]=getchar())!='@') k++;

    for(j=0;s[j]!='@';j++)

       {

           if(s[j]<='Z'&&s[j]>='A')

                 s[j]+=32;

           if(s[j]<='w'&&s[j]>='a')

            s[j]+=3;

           else

                     if(s[j]=='x'||s[j]=='y'||s[j]=='z')

                    s[j]-=23;

       }

    printf("译码后结果:");

    for(i=0;s[i]!='@';i++)

    printf("%c",s[i]);

    printf("\n");

    getchar();

}

7-6:我使用的算法为:请用文字描述一下

程序运行结果如下图所示:

main()

{

       int i=0;

    char str1[255],str2[255];

    printf("请输入一个字符串:\n");

    scanf("%s",str1);

    printf("请输入另一个字符串:\n");

    scanf("%s",str2);

    while(1)

       {

              if(str1[i]==str2[i])

              {

                     i++;

                  continue;

              }

           else

                  break;

       }

    printf("%d\n",str1[i]-str2[i]);

}

4实验小结

熟悉,基本掌握了数组的定义,使用以及字符串的输入,输出的方法;了解到在程序设计中用数组作为函数参数的用法;还学到了字符数组和字符串函数的基本使用方法。通过多次的实验操作,我的操作能力有了很大的进步,课本知识得到了进一步巩固;但仍有许多地方不够熟练和掌握,还要继续努力学习


第二篇:C语言数组上机实验报告3


C语言程序设计实验报告

1       实验目的

2       实验内容

3       算法描述流程图

4       源程序

#include<stdio.h>

main()

{

       int a[9][9];

       int j,i,n,t,max,min,nmax=0,nmin=0;

       printf("\nplease input n of a[]:\n");

       scanf("%d",&n);

       printf("为矩阵赋值(%d):\n",n);

       for(i=0;i<n;i++)

              for(j=0;j<n;j++)

                     scanf("%d",&a[i][j]);

              min=max=a[0][0];

       for(i=0;i<n;i++)

              for(j=0;j<n;j++)

              {

                     if(a[i][j]>max)

                     {

                            max=a[i][j];

                nmax=i;

                     }

                     else if(a[i][j]<min)

                     {

                            min=a[i][j];

                            nmin=i;

                     }

              }

              for(j=0;j<n;j++)

              {

                     t=a[nmax][j];

                     a[nmax][j]=a[nmin][j];

                            a[nmin][j]=t;

              }

              printf("输出结果:\n");

              for(i=0;i<n;i++)

              {

                     for(j=0;j<n;j++)

                            printf("%d ",a[i][j]);

                     printf("\n");

              }

}

5       测试数据

第一组:

1 2 3

4 5 6

7 8 9

第二组:

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

6       运行结果

 

7       出现问题及解决方法

8       实验心得

更多相关推荐:
C语言数组实验报告

C语言数组实验报告,内容附图。

C语言实验报告 数组

学生实验报告学院软件与通信工程学院课程名称C语言与程序设计专业班级通信121姓名学号学生实验报告4一实验综述1实验目的及要求1一维数组和二维数组的定义方法以及其元素的访问形式2用字符数组来处理字符串及字符串处理...

C语言数组实验报告

北京联合大学信息学院程序设计基础课程调研研究报告题目姓名学号专业计算机科学与技术编制时间20xx528版本指导教师北京联合大学信息学院编制数组实验程序设计报告20xx年5月28日班号姓名学号第一章实验情况概述本...

C语言试验报告-数组函数实验

学生实验报告实验课名称数组函数综合实验实验项目名称数组函数综合实验专业名称测控技术与仪器班学级20xx240801号20xx24080126学生姓名黄小龙教师姓名武雅丽月实验日期20xx年4月27日实验室名称数...

C语言程序设计实验报告(数组)

C语言程序设计实验报告数组1实验目的1熟练掌握一维数组二维数组的定义初始化和输入输出方法2熟练掌握字符数组和字符串函数的使用3掌握与数组有关的常用算法查找排序等2实验内容编写函数catStrcharstr1ch...

C语言实验报告数组

高级语言程序设计实验报告实验序号4实验项目名称数组题目3题目5附加2

C语言实验报告数组

实验报告实验课程名称高级C语言程序设计实验项目名称数组年级09级专业数学学生姓名李军学号0907010170理学院实验时间20xx年4月22日学生实验室守则一按教学安排准时到实验室上实验课不得迟到早退和旷课二进...

《C语言程序设计》实验报告数组

C语言程序设计课程实验报告

c语言实验报告——数组与指针

创建时间20xx年4月18日

c语言数组综合实验模板

华北科技学院计算机系综合性实验实验报告课程名称程序设计语言C实验学期20xx至20xx学年第2学期学生所在系部电子信息工程学院年级12级专业班级电信B124班学生姓名武三栋学号20xx03014420任课教师乔...

c语言实验报告五 一维数组

物光学院计算机类实验报告C程序设计课程实验报告学院班级姓名学号实验设备计算机1台实验日期20xx年3月1日以下内容为教师填写

C语言数组实验

高级程序语言设计上机实验报告

c语言数组实验报告(37篇)