精华内容
下载资源
问答
  • 3.链表中所有元素的平均值 此代码可以正常运行,代码下附有运行界面 代码区 #include<stdio.h> #include<stdlib.h> #define MAXSIZE 100 //定义最大数量; typedef int ElemType; typedef struct ...

    类C语言例题—链表中递归–1.求链表中的最大整数:2。求链表的结点个数。3.求链表中所有元素的平均值
    此代码可以正常运行,代码下附有运行界面

    代码区

    #include<stdio.h>
    #include<stdlib.h>
    #define MAXSIZE 100  //定义最大数量;
    typedef int ElemType;
    typedef struct LNode  //定义链表:数据域,指针域
    {
    	ElemType data;   
    	struct LNode *next;
    }LNode,*LinkList;
    
    enum Status{ERROR,OK};   //本代码采用枚举类型,此处可以自由设定
    
    //链表初始化
    Status InitList (LinkList  &L)
    {
    	L=(LinkList)malloc(sizeof(LNode));//L=new LNode;也可
    	if(L==NULL)
    		return ERROR;
    	L->next = NULL;
    	return OK;
    }
    
    //构造链表,插入数字
    Status CreateList(LinkList &L)  //这个链表有头结点
    {
    	LinkList p=L,r;
    	int e = 1;
    	printf("请输入要插入的值以000结束:");
    	while(e)
    	{
    		scanf("%d",&e);
    		if(e == 00)
    			break;
    		r= new LNode;
    		r->data = e;
    		r->next = NULL;
    		p->next = r;
    		p = r;
    	}
    	return OK;
    
    }
    //求链表中最大值
    int Max(LinkList L)
    {
    	int m;
    	if(!L->next)  //若只有一个结点
    		return L->data;
    	
    	m = Max(L->next);
    	return m>=L->data?m:L->data;
    	
    }
    
    //求链表结点个数---递归
    int Num(LinkList L)
    {
    	if(!L->next)
    		return 1;
    	else 
    		return Num(L->next)+1;
    }
    
    //求平均值--注意函数类型为浮点型中的双精度
    double Average(LinkList &L,int n)
    {
    	double a;
    	if(!L->next)  //如果就一个结点的话,数据域就是平均值
    		return L->data;
    	else 
    	{
    		a = Average(L->next,n-1);
    		return (a*(n-1)+L->data)/n;
    	}
    }
    
    int main()
    {
    	int m,n;
    	double a;
    	LinkList L;
    	InitList(L);  //初始化
    	CreateList(L);
    	m=Max(L->next); //因为有头结点
    	printf("最大值是:%d\n",m);
    
    	m=Num(L->next);  //因为有头结点
    	n=m;
    	printf("结点个数:%d\n",m);
    
    	a=Average(L->next,n);
    	printf("平均值为:%f\n",a);
    	return 0;
    }
    

    测试区

    在这里插入图片描述

    展开全文
  • 有一个正整数数组,包含N个元素,要求编程出其中的素数之和以及所有素数的平均值 #include <stdio.h> /** * 题目要求:有一个正整数数组,包含N个元素,要求编程出其中的素数之和以及所有素数的平均值 ...

    题目如下:
    有一个正整数数组,包含N个元素,要求编程求出其中的素数之和以及所有素数的平均值

    #include <stdio.h>
    
    /**
     * 题目要求:有一个正整数数组,包含N个元素,要求编程求出其中的素数之和以及所有素数的平均值
     *
     * 素数:即在正整数中,除了1与本身之外没有其他约数的数(1除外)
     *
     **/
    int main(int argc,char *argv[])
    {
    	int a[100],i,j,s,count=0;
    	
    	float sum=0;
    	
    	for(i=0;i<100;i++)
    	{
    		a[i]=i+1;
    	}
    	
    	for(i=0;i<5;i++)
    	{
    		// s 等于零就代表是素数
    		s=0;
    		
    		for(j=2;j<=a[i];j++)
    		{
    			
    			if(a[i]==j)
    			{
    				// 等于本身跳出此次循环
    				continue;
    			}
    			else
    			{
    				if((a[i]%j)==0)
    				{
    					// i能被任何一个数(不是1或者本身)整除,就是不是素数
    					s=1;
    					break;
    				}
    			}
    		}
    		
    		if(s==0)
    		{
    			printf("素数%d\n",a[i]);
    			count++;
    			sum+=a[i];
    		}
    	}
    	
    	
    	printf("count = %d \n",count);
    	printf("sum = %.2f \n",sum);
    	printf("avreage = %-10.2f \n",(float)(sum/count));
    	
    	return 0;
    }
    
    展开全文
  • 编写一个主程序,生成一个菜单界面,当输入1时,调用矩阵赋值函数,...该矩阵对角线所有元素的平均值;当输入5时,将该矩阵副对角线元素变成1,当输入0时,退出程序。</p>
  • C语言上机作业6

    2021-05-29 14:10:28
    1 编写一个主程序,生成一个菜单界面,当输入1时,调用矩阵赋值函数,为5*5的矩阵赋初值;...当输入4时,该矩阵对角线所有元素的平均值;当输入5时,将该矩阵下对角线元素变成1,当输入0时,退出程序。 ...

    1

    编写一个主程序,生成一个菜单界面,当输入1时,调用矩阵赋值函数,为5*5的矩阵赋初值;当输入2时,调用矩阵转置函数,对该矩阵进行转置操作;当输入3时,将该矩阵上三角所有元素值变成0;当输入4时,求该矩阵对角线所有元素的平均值;当输入5时,将该矩阵下对角线元素变成1,当输入0时,退出程序。

    #include <stdio.h>
    int a[5][5];
    int input(int a[][5] )
    {
    	int i=0,j=0;
    	printf("请输入矩阵初值:\n");
    	for(i=0;i<5;i++)
    		{
    			for(j=0;j<5;j++)
    			scanf("%d",&a[i][j]);
    	    }
    	printf("初矩阵为:\n");
    	for(i=0;i<5;i++)
    		{
    			for(j=0;j<5;j++)
    			{
    				printf("%d ",a[i][j]);
    				if(j==4)
    					printf("\n");
    			}
    	    }
    	return a[5][5];
    }
    
    void change(int a[5][5])
    {
    	int i,j,b[5][5];
    	for(i=0;i<5;i++)
    	{
            for(j=0;j<5;j++)
    			b[i][j]=a[j][i];
    	}
    	printf("转置矩阵为:\n");
    	for(i=0;i<5;i++)
    		{
    			for(j=0;j<5;j++)
    			{
    				printf("%d ",b[i][j]);
    	            if(j==4)
    				printf("\n");
    			}
    
    	    }
    	
    }
    void down(int a[][5])
    {
    	int i,j;
    	
    	for(i=0;i<5;i++)
    	{
            for(j=0;j<5;j++)
    			if(i<j)
    			a[i][j]=0;
    	}
    	for(i=0;i<5;i++)
    		for(j=0;j<5;j++)
    			{
    				printf("%d ",a[i][j]);
    	            if(j==4)
    			    printf("\n");
    	        }
    }
    void aver(int a[][5])
    {
    	int i=0,j=0,sum=0;
        for(i=0;i<5;i++)
    	{
            for(j=0;j<5;j++)
    			if(i==j)
    			sum+=a[i][j];
    	}
    	printf("对角线所有元素平均值为: %d\n",sum/5);
    }
    
    void secondturn(int a[][5])
    {
    	int i,j;
    	for(i=0;i<5;i++)
    	{
            for(j=0;j<5;j++)
    			if(i+j==4)
    			a[i][j]=1;
    	}
    	printf("变化后的矩阵为:\n");
    	for(i=0;i<5;i++)
    		{
    			for(j=0;j<5;j++)
    			{
    				printf("%d ",a[i][j]);
    			    if(j==4)
    				printf("\n");
    			}
    	    }
    }
    
    
    int main()
    {
    	int b;
    	printf("请输入下列命令:\n1.为矩阵赋初值\n2.转置\n3.变为下三角阵\n4.输出对角线所有元素平均值\n5.下对角线元素变为1\n0.退出程序\n输入命令为:\n");
    	scanf("%d",&b);
    	switch(b)
        {
    	 case 0:break;
    	 case 1:input(a);break;
    	 case 2:input(a);change(a);break;
    	 case 3:input(a);down(a);break;
    	 case 4:input(a);aver(a);break;
    	 case 5:input(a);secondturn(a);
    	}
    	return 0;
    }

    2

    利用指针代替下标进行数组编程:从键盘输入8个整数放入数组,然后将每一个奇数加1,每一个偶数减1,最后输出数组的所有元素。

    #include <stdio.h>
    int main()
    {
    	int i=0,a[8],*p=a;
    	printf("请输入8个整数:\n");
    	for(i=0;i<8;i++)
    		scanf("%d",&p[i]);
    	for(i=0;i<8;i++)
    		{
    			if(p[i]%2!=0)
    			  p[i]+=1;
    		    else 
    		      p[i]-=1;
    	    }
    	for(i=0;i<8;i++)
    		printf("%d ",p[i]);
    	return 0;
    }

     

    展开全文
  • C语言上机作业7

    2021-05-29 14:13:14
    1 1.分别用地址法(通过数组名计算元素地址)、指针法改写第9周的上机作业程序,来实现对二维数组...当输入4时,该矩阵对角线所有元素的平均值;当输入5时,将该矩阵副对角线元素变成1,当输入0时,退出程序。 ...

    1

    1.分别用地址法(通过数组名计算元素地址)、指针法改写第9周的上机作业程序,来实现对二维数组的访问和操作:

     编写一个主程序,生成一个菜单界面,当输入1时,调用矩阵赋值函数,为5*5的矩阵赋初值;当输入2时,调用矩阵转置函数,对该矩阵进行转置操作;当输入3时,将该矩阵上三角所有元素值变成0;当输入4时,求该矩阵对角线所有元素的平均值;当输入5时,将该矩阵副对角线元素变成1,当输入0时,退出程序。

    #include <stdio.h>
    int a[5][5];
    void input(int (*x)[5])//地址法
    {
    	int i=0,j=0;
    	printf("请输入矩阵初值:\n");
    	for(i=0;i<5;i++)
    		{
    			for(j=0;j<5;j++)
    			scanf("%d",*(x+i)+j);
    	    }
    	printf("初矩阵为:\n");
    	for(i=0;i<5;i++)
    		{
    			for(j=0;j<5;j++)
    			{
    				printf("%d ",*(a[0]+5*i+j));
    				if(j==4)
    					printf("\n");
    			}
    	    }
    }
    
    void change(int (*p)[5])//指针法
    {
    	int i,j,b[5][5]={0},*q[5];
    	for(i=0;i<5;i++)
    		q[i]=b[i];
    	for(i=0;i<5;i++)
    	{
            for(j=0;j<5;j++)  
    		    *(q[0]+i*5+j)=*(*(p+j)+i);	
    	}
    	printf("转置矩阵为:\n");
    	for(i=0;i<5;i++)
    		{
    			for(j=0;j<5;j++)
    			{
    				printf("%d ",*(*(q+i)+j));
    	            if(j==4)
    				printf("\n");
    			}
    
    	    }
    	
    }
    void down(int a[][5])
    {
    	int i,j;
    	
    	for(i=0;i<5;i++)
    	{
            for(j=0;j<5;j++)
    			if(i<j)
    			a[i][j]=0;
    	}
    	for(i=0;i<5;i++)
    		for(j=0;j<5;j++)
    			{
    				printf("%d ",a[i][j]);
    	            if(j==4)
    			    printf("\n");
    	        }
    }
    void aver(int a[][5])
    {
    	int i=0,j=0,sum=0;
        for(i=0;i<5;i++)
    	{
            for(j=0;j<5;j++)
    			if(i==j)
    			sum+=a[i][j];
    	}
    	printf("对角线所有元素平均值为: %d\n",sum/5);
    }
    
    void secondturn(int a[][5])
    {
    	int i,j;
    	for(i=0;i<5;i++)
    	{
            for(j=0;j<5;j++)
    			if(i+j==4)
    			a[i][j]=1;
    	}
    	printf("变化后的矩阵为:\n");
    	for(i=0;i<5;i++)
    		{
    			for(j=0;j<5;j++)
    			{
    				printf("%d ",a[i][j]);
    			    if(j==4)
    				printf("\n");
    			}
    	    }
    }
    
    
    int main()
    {
    	int b;
    	printf("请输入下列命令:\n1.为矩阵赋初值\n2.转置\n3.变为下三角阵\n4.输出对角线所有元素平均值\n5.下对角线元素变为1\n0.退出程序\n输入命令为:\n");
    	scanf("%d",&b);
    	switch(b)
        {
    	 case 0:break;
    	 case 1:input(a);break;
    	 case 2:input(a);change(a);break;
    	 case 3:input(a);down(a);break;
    	 case 4:input(a);aver(a);break;
    	 case 5:input(a);secondturn(a);
    	}
    	return 0;
    }

    2.采用结构体类型数组来存储5名学生的学号、姓名、以及4门课的成绩, 输出各个学生4门课程的平均分,并将上述结果写入一个文件并保存。

    #include <stdio.h>
    #include <stdlib.h>
    struct student
    {
    	long num;
    	char name[20];
    	float score[3];
    }stu[5];
    struct solve
    { 
    		float aver;
    		int rank;
    }s[5];
    void averank(struct solve *p)
    {
    	int i=0,j=0;
    	for(i=0;i<5;i++)
          {
    	    s[i].rank=5;
            for(j=0;j<5;j++)
               {
    	         if(s[i].aver>s[j].aver)
                 s[i].rank=s[i].rank-1;
    		   }
    	  }
    }
    int main()
    {
    	int i=0;
    	for(i=0;i<5;i++)
    	{
             scanf("%ld %s %f %f %f",&stu[i].num ,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
    	     s[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;  
    	 }
    	averank(s);
    	printf("Number:  Name:        score:       Average:  rank:\n");
    	for(i=0;i<5;i++)
    		printf("%-9ld%-10s%-5.1f%-5.1f%-8.1f%-10.1f%-d\n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],s[i].aver,s[i].rank );
    	return 0;
    }
    

     

    展开全文
  • c语言经典案例

    2014-10-30 08:06:57
    实例066 学生总成绩和平均成绩 83 实例067 回文素数 84 第7章 选择和分支结构程序设计 86 实例068 判断偶数 87 实例069 判断字母是否为大写 88 实例070 检查字符类型 89 实例071 最低分和最高分 90 实例072 模拟...
  • 定义1个二维数组:int arr[5][6],然后从键盘输入5行6列共30个整数,编程所有元素中的最大值、最小值及其下标,同时出每行元素的平均值,并在屏幕上打印输出。 提示:在一个二重循环体内用scanf函数输入30个数...
  • C语言经典编程

    2014-10-14 09:16:11
    //随机产生20个[10,50]正整数存到数组中,并出数组中的所有元素最大值,最小值,平均值以及个元素之和,及第二大值 inta[20]={0}; printf("随机产生元素:\n"); for(inti=0;i<20;i++){ a[i]=arc4random()%(...
  • C语言面试题

    2014-12-18 19:11:54
    面试题//经典1 //随机产生20个[10,50]正整数存到数组中,并出数组中的所有元素最大值,最小值,平均值以及个元素之和,及第二大值 inta[20]={0}; printf("随机产生元素:\n"); for(inti=0;i<20;i++){ a[i]=arc4...
  • 从键盘上输入10个整数并将其存放在一数组中出该数组中所有大于零且为偶数的 数的平均值 ?若有n行n列数组试编写一程序分别出两条对角线元素之和从键盘输入 n*n 个整型数n 从键盘输入n*n个整型数n ,组成n行n列数组...
  • C语言经典例题:

    2014-12-09 08:50:29
    /////////////////////////////////////选做题 //1、随机产生20个[10 , 50]正整数存到数组中,并数组中的所有元素最大值、最小值、平均值以及各元素之和,及第二大值。 //最大值,最小值,都是拿每一个元素和Max,...
  • c语言数组问题解析

    2014-07-21 10:07:45
    #define COUNT 10int main(int argc, const char * argv[]){ //1、随机产生20个[10 , 50]正整数存到数组中,并数组中的所有元素最大值、最小值、平均值以及各元素之和。第二大值。// int max = 0, min = 0...
  • 从键盘上输入10个整数并将其存放在一数组中出该数组中所有大于零且为偶数的数的平均值 2若有n行n列数组试编写一程序分别出两条对角线元素之和从键盘输入n*n个整型数n20 3从键盘输入n*n个整型数n20,组成n行n列数...
  • C语言经典算法2

    2014-03-18 20:59:08
    //1、随机产生20个[10 , 50]正整数存到数组中,并数组中的所有元素最大值、最小值、平均值以及各元素之和 int maxIndex = 0,minIndex = 0;   for (int i = 0; i 20; i++) {   if (array[maxIndex]  ...
  • 掌握一维数组二维数组的定义初始化和数组元素的引用 掌握字符数组的定义初始化和数组元素的引用 掌握...例6-1编程10个数中的最大值最小值平均值输出所有小于平均值的数 ;6.3 二维数组和多维数组 ;6.3 二维数组和多
  • 文章目录011 数组左下半三角元素中的值全部置成0012 数组周边元素的平均值返回给主函数013 出二维函数组每列中最小元素014 二维数组周边元素之和,作为函数值返回015 w后n-1位的数作为函数值返回016 值保留2位...
  • 对于同一个数组,其所有元素的数据类型都是相同的。 2.数组名的书写规则应符合标识符的书写规定。 3.数组名不能与其它变量名相同,例如: void main() { int a; float a[10]; …… } 是错误的。 4.方括号中常量...
  • (2)编写一个程序实现如下功能:输入10个学生5门课程的成绩,分别用函数:①每个学生的平均分;②每门课程的平均分;③找出最高的分数所对应的学生和课程。 若输入2个学生的成绩,其运行结果如下图所示。 (3...
  • 题目解决代码及点评/*************************************...1.有一个正整数数组,包含N个元素,要求编程出其中的素数之和以及所有素数的平均值。 */ /**********************************************************
  • 20054 求平均值 17 20057 1+1/2+1/3+......+1/n 18 20065 0!+1!+2!+……+n! 18 40015 最小值 19 40018 a+aa+aaa+aa…a 20 第5周(M5) 21 30001 一元二次方程根 21 30002 分段函数值 23 ...
  • 顺序结构习题:三个数的平均值 63%(4500/7162) 39% 2020-4-23 1009 顺序结构习题:两点之间的距离 61%(4135/6812) 41% 2020-4-23 1010 顺序结构习题:摄氏温度转换为华氏温度和绝对温度 53%(3782/7194) 49% 2020...
  • C语言向一维数组a[10]中输入10个数据:12,15,18,21,24,32,34,36,...出这十个数据的平均值,并输入高于平均值的所有元素值及下标
  • 写一个上述银行业务的事件驱动模拟系统,通过模拟方法出客户在银行内逗留的平均时间。 【基本要求】 利用动态存储结构实现模拟。 【测试数据】 一天营业开始时银行拥有的款额为10000(元),营业时间为600(分钟)...

空空如也

空空如也

1 2 3
收藏数 45
精华内容 18
关键字:

c语言求所有元素的平均值

c语言 订阅