C语言实验报告8

时间:2024.4.27

洛阳理工学院实验报告

附:源程序:

第一题:

#include<stdio.h>

int main()

{

       int prime(int);

       int n,flag;

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

       scanf("%d",&n);

       if (flag==1)

              printf("是素数\n");

       else

              printf("不是素数\n");

}

int prime(int n)

{

       int i,flag;

       if(n==1)flag=0;

       else

       for(i=2;i<=n/2;i++)

       {

              if(n%i==0)flag=0;

              else flag=1;

       }

       return (flag);

}

第二题:

#include <stdio.h>

int main()

{

       void cpy(char [],char []);

       char a[80];

       char c[40];

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

       gets(a);

       cpy(a,c);

       printf("其中元音字母为:%s\n",c);

}

void cpy(char a[],char c[])

{

       int i=0,j=0; 

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

       {

              if(a[i]=='a'||a[i]=='A'||a[i]=='e'||a[i]=='E'||

                     a[i]=='i'||a[i]=='I'||a[i]=='o'||a[i]=='O'||

                     a[i]=='u'||a[i]=='U')

              {

                     c[j]=a[i];

                     j++;

              }

              i++;

       }          

       c[j]='\0';

}

第三题:

#include<stdio.h>

int i,j,x,y;

int main()

{

       float aver1(float a[][5]);

       float aver2(float a[][5]);

       float max(float a[][5]);

       float a[10][5];

       printf("请按照科目顺序输入学生成绩:\n");

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

       {

              printf("第%d位学生成绩:",i+1);

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

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

       }

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

              printf("第%d位学生的平均成绩为:%6.2f\n",i+1,aver1(a));

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

              printf("第%d门科目的平均成绩为:%6.2f\n",j+1,aver2(a));

              printf("最高分为:%6.2f\n",max(a));

}

float aver1(float a[][5])

{

       float aver1,sum=0;

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

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

              aver1=sum/5;

              return (aver1);

}

float aver2(float a[][5])

{

       float sum=0,aver2;

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

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

       aver2=sum/10;

       return (aver2);

}

float max(float a[][5])

{

       float max,b[10];

       int x,y,z=0;

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

       {

              x=i;y=0;

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

              {

                     if(a[i][j-1]>a[i][j])a[i][j]=a[i][j-1];

                     else x=i;y=j;

              }

              b[z]=a[x][y];

              z++;

       }

       max=b[0];

       for(z=1;z<10;z++)

       {

              if(b[z-1]>b[z])b[z]=b[z-1];

              else max=b[z];

       }

       i=0;

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

       {

              if(max==a[i][j])break;

              if(j==4){i++;j=0;}

              if(i==10)break;

       }

       printf("第%d位学生的第%d门科目分数最高,",i+1,j+1);

       return (max);

}

第四题:

#include <stdio.h>

int main()

{

    void kg(char a[10],char b[10]);

    char a[10],b[10];

    int j;

    printf("请输入一个4位数:");

    gets(a);

    kg(a,b);

       b[8]='\0';

    printf("%s\n",b);

    return 0;

}

void kg(char a[10],char b[10])

{

       int i,j,k;

    i=0,j=0;

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

   {

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

                 if(k%2!=0)b[k]=' ';

              b[j]=a[i];

              i++;

              j+=2;

   }

}第五题:

#include <stdio.h>

int main()

{

       void fun(char a[]);

       char a[30];

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

       gets(a);

       fun(a);

}

void fun(char a[])

{

       int i,b=0,c=0,d=0,e=0;

       for(i=0;a[i]!='\0';i++)

       {

              if((a[i]<='z'&&a[i]>='a')||(a[i]<='Z'&&a[i]>='A'))b++;

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

              else if(a[i]==' ')d++;

              else e++;

       }

       printf("字母数为:%d;\t数字数为:%d;\t空格数为:%d;\t其他符号数为:%d\n",b,c,d,e);

}


第二篇:c语言 实验报告8


实验八 一维数组程序设计

实验目的:

1、 掌握一维数组的定义和引用方法。

2、 掌握正确使用一维数组编程。

实验内容:

1、 编写程序,输入一个正整数n(1<n<=10),再输入n个整数,输出平均值(保留两位小

数)。

2、 编写程序,输入一个正整数n(1<n<=10),再输入n个整数,按逆序输出这些数。

3、 编写程序,输入一个正整数n(1<n<=10),再输入n个整数,将它们从大到小排序后输

出。

实验过程:

实验1、算法思想:先定义一个数组,将每个输入的数赋值给相应的数组中的元素,并

将每个数进行相加,在最后输出结果时输出“sum/n”即可。

程序清单:

#include<stdio.h> int main(void) { int i,n; double average,sum; int fib[10]; printf("输入一个正整数n:"); scanf("%d",&n); printf("依次输入%d个数:",n); average=0; for(i=0;i<n;i++){ scanf("%d",&fib[i]); sum=sum+fib[i]; } printf("average=%.2f\n",sum/n); return 0; }

测试数据与实验结果:原始数据:n=5,数据为:5 2 6 4 5相应的运行结果:

average=4.4.

分析与思考:数组元素是从0开始的。

实验2、算法思想:先定义一个数组,将每个输入的数赋值给相应的数组中的元素,在输出时按“fib[n-1-i]”即可。

程序清单:

#include<stdio.h> int main(void) { int i,n; int fib[10]; printf("输入一个正整数n:"); scanf("%d",&n); printf("依次输入%d个数:",n); for(i=0;i<n;i++){ scanf("%d",&fib[i]);

} for(i=0;i<n;i++){ printf("%d\n",fib[n-1-i]); } return 0; }

测试数据与实验结果:原始数据:n=5.数据为:4 5 8 6 2相应的运行结果:2 6 8

5 4

分析与思考:一共有n个数,逆序输出时应输出第i个数时,其值应为第n-1-i

个数的数值。

实验3、算法思想:先定义一个数组,将每个输入的数赋值给相应的数组中的元素,再

用for语句将数组中的数进行选择排序,最后再用for语句进行输出。

程序清单:

#include<stdio.h> int main(void) { int i,n,k,index,max; int fib[10]; printf("输入一个正整数n:"); scanf("%d",&n); printf("依次输入%d个数:",n); for(i=0;i<n;i++){ scanf("%d",&fib[i]); } for(k=0;k<n-1;k++){ index=k; for(i=k+1;i<n;i++){ if(fib[i]>fib[k]){ index=i; max=fib[index]; fib[index]=fib[k]; fib[k]=max; } } } printf("after sorted:\n"); for(i=0;i<n;i++){ printf("%d",fib[i]); printf("\n"); } return 0; }

测试数据与实验结果:原始数据:n=5,数据为:1 5 3 8 9,相应的运行结果:9

8 5 3 1

分析与思考:排序时只需要循环n-1次,最后一个数不用进行循环。

实验心得:

更多相关推荐:
c语言实验报告

四川师范大学计算机科学学院C语言程序设计实验手册20xx年2月年级20xx级专业电子商务班级04班姓名罗桂清学号20xx110438指导教师廖雪花1C语言程序设计实验课程简介课程名称C语言程序设计实验课程性质专...

c语言实验报告

课程设计报告学院课程名称专业班级学生姓名学号指导教师完成时间年月目录1菜单选择程序课程设计2学生信息管理系统课程设计题目1菜单选择程序课程设计一课程设计内容与要求1主菜单编写程序能够显示以下的主菜单主菜单1字母...

C语言实验报告书写格式及模板

大学学院实验报告专业名称实验室实验课程C实验名称姓名学号同组人员实验日期语言程序设计程序设计12345678

c语言实验报告模板完成版

高级语言程序设计学生实验报告专业计算机科学与技术学号姓名1实验一C程序的运行环境和使用方法1实验目的1了解所用的计算机系统的基本操作方法学会独立使用该系统2了解在该系统上如何编辑编译连接和运行一个C程序3通过运...

C语言实验报告(八)

华北水院高级语言程序设计C语言实验报告20xx20xx学年第二学期20xx级专业班级学号一实验题目文件二实验目的略三实验内容1程序验证用记事本编辑文本文件file1txt分析一下程序的功能及结果并验证inclu...

大学C语言实验报告答案

郑州大学09级C语言实验报告答案实验一1includeltstdiohgtvoidmainintabcscanfquotdddquotampaampbampcprintfquotsumdnquotabc2inc...

C语言实验报告样本

实验报告课程名称C语言程序设计实验项目顺序结构程序设计实验仪器计算机系别机电工程学院专业机械设计制造及其自动化班级学号机械110120xx010008学生姓名郭奎宇实验日期20xx年10月24日成绩指导教师一实...

C语言实验报告(样板)

滁州学院机械与电子工程学院实验报告课程姓名专业20xx机械本科学号实验一工作平台一目的和要求1熟悉语言程序的支持运行环境了解所用计算机系统的软硬件配置和使用方法2初步了解运行一个语言程序的过程二实验环境硬件环境...

C语言实验报告_结课作业

内蒙古工业大学信息工程学院实验报告课程名称:高级语言程序设计(C)实验名称:循环、数组、函数和结构体程序设计实验类型:验证性□综合性设计性□实验室名称:校计算机中心机房班级:学号:姓名:组别:同组人:成绩:实验…

C语言实验报告

实验一C程序的运行环境和使用方法1实验目的1了解所用的计算机系统的基本操作方法学会独立使用该系统2了解在该系统上如何编辑编译连接和运行一个C程序3通过运行简单的C程序初步了解C程序的特点2实验程序清单及运行结果...

C语言与软件技术基础用户自己建立数据类型实验报告

C语言与软件技术基础实验报告课程名称指导老师班级实验名称实验时间姓名实验地点提交时间座号一实验目的和要求1掌握结构体类型变量的定义和使用2掌握结构体类型数组的概念和应用3了解链表的概念和操作方法二实验环境和方法...

c语言实验报告1

C语言程序设计报告日期20xx年11月2日程序主要内容任务1程序首先随机产生一到十之间的正整数在屏幕上打印出问题例如67然后让学生输入答案序检查学生输入的答案是否正确若正确则RIGHT然后问下一个问题否则打印W...

c语言实验报告(38篇)