精华内容
下载资源
问答
  • 可以根据自己定义的 数组大小 进行输入 求平均数
  • C语言:输入数值求平均数(T&F)

    千次阅读 2020-02-18 16:38:42
    C语言求平均数 算法思想 平均数 aver=(∑num)/n; 1、设置3个变量,用来存放数据,将每次数据的累加和存储到一个变量中,给计数变量+1,最后输出。 2、可以考虑用数组实现,首先要求读入数组的大小,即要输入多少个...

    C语言求平均数

    1.算法思想

    1. 算法:average=sum/count;
    2. 可以用循环实现数据输入
    3. 可以用数组实现输入输出。

    2.代码分析

    1. 错误代码
    #include<stdio.h>
    int main()
    {
    
    	int num;
    	int count=0;
    	int sum=0;
    	printf("please input number:");
    	scanf("%d",&num);
        while(num==1){
    	sum+=num;
    	
    	scanf("%d",&num);
    	count++;
        }
    	printf("count is %d\n",count);
    	printf("average is %f\n",1.0*sum/count);
    	return 0;
    }
    

    输出:

    please input number:1 2 3
    count is 1
    average is 1.000000
    
    --------------------------------
    Process exited after 3.33 seconds with return value 0
    请按任意键继续. .
    

    分析:循环只进行一次直接输出结果;

    1. 错误代码
    #include<stdio.h>
    int main()
    {
    
    	int num;
    	int count=0;
    	int sum=0;
    	printf("please input number:");
    	scanf("%d",&num);
        while(num!=-1){
    	sum+=num;
    	count++;
    	scanf("%d",&num);	
        }
    	printf("count is %d\n",count);
    	printf("average is %f\n",1.0*sum/count);
    	return 0;
    }
    

    输出结果:

    please input number:1 2 3
    q
    
    

    分析:这里光标一直在闪但不输出结果,

    关系表达式中,非0值(正数与复数)表示“真”,“0”值表示“假”。

    1. 错误代码
    #include<stdio.h>
    int main()
    {
    	int num;
    	int sum=0;
    	int ave;
    	int count=0;
    	printf("please input number:");
    	while(scanf("%d",&num)!=-1){
    		sum+=num;
    		count++;
    	
    	} 
    	ave=sum/count;
    	printf("count is %d\n",count);
    	printf("ave is %d",ave);
    }
    

    输出结果:

    please input number:1 2 3
    q
    
    

    分析:这里光标一直在闪但不输出结果。

    • 正确代码

    • while循环

    #include<stdio.h>
    int main()
    {
    	int num;
    	int sum=0;
    	float ave;
    	int count=0;
    	printf("please input number:");
    	while(scanf("%d",&num)==1){
    		sum+=num;
    		count++;	
    	} 
    	ave=1.0*sum/count;
    	printf("count is %d\n",count);
    	printf("ave is %f",ave);
    }
    输出结果:
    please input number:0 1 2 3 4 5
    q
    count is 6
    ave is 2.500000
    

    分析:这次将数据输入嵌套在while循环中,结果输出正确.

    • do-while 循环
    #include<stdio.h>
    int main()
    {
     	float  aver;
    	int  num;
    	int count=0;
    	float sum=0;
    	printf("please input number: ");
    	
    	do{	   
    	   scanf("%d",&num);
      	   if(num!=-1){ 
    	   sum+=num;
    	   count++; 	                   
           }
    	} while(num!=-1);
     	aver=sum/count;
     	printf("count is %d\n",count);
     	printf("average is %f\n",aver);
       // printf("average is %f\n",1.0*sum/count);
    	return 0;	
     }
    输出结果:
    please input number:   1 2 3 3
    -1
    count is 4
    average is 2.250000
    
    --------------------------------
    Process exited after 12.69 seconds with return value 0
    请按任意键继续.
    
    

    分析:do-while 输出结果正确。

    3. 总结

    搞混了条件表达式的值,!=-1在这里的意思就是当不等于-1时条件表达式的值为真,当等于-1时,条件表达式的值为假,这里-1,0也好,代表的只是本身,不代表整体条件表达式的值。

    展开全文
  • 初学C语言2.1-数组

    2019-11-27 09:11:05
    数组的定义 类型 数组名[元素个] int a[6] // 创建一个具有6个元素的数组 ...例:尝试用数组存放十位同学的数学成绩,并求平均值 #include <stdio.h> #define NUM 10 //定义宏命令 int mai...

    数组的定义
    类型 数组名[元素个数]
    int a[6] // 创建一个具有6个元素的数组
    char b[24]
    double c[3]

    访问数组中的元素
    数组名[下标]
    a[0];// 访问a数组中的第一个元素

    循环跟数组的关系
    例:尝试用数组存放十位同学的数学成绩,并求平均值

    #include <stdio.h>
    
    #define NUM 10 //定义宏命令 
    int main()
    {	
    	int a[NUM];
    	int sum = 0;
    	
    	for (int i = 0; i < 10; i++) {
    		printf("请录入第%d位同学的成绩:",i+1);
    		scanf_s("%d", &a[i]);
    		sum += a[i]; 
    	}//循环十次,录入成绩
    	printf("十位同学的成绩平均值为%.2f\n", (double)sum/NUM);
    	//平均数在0后两位,.2f为浮点类型,故sum需强制转换成double
    	return 0;
    }
    

    数组的初始化:在定义的同时进行赋值

    起始数组所有元素自动初始化为0;

    若初始化时给出了各元素的值,则不用写数组长度

    int a[ ] = {1,2,3,4,5,6,7,8,9,0} //长度为10;
    

    指定初始化元素

    int a[10] = {[3] = 4 ,[5] = 6 ,[8] = 8};//其余元素值为0
    

    使用sizeof()计算数组占用内存大小

    printf("%d\n",sizeof(a));//a为上题数组名
    

    结果:40 .该数组元素为int类型,一个int类型4个字节,共10个,则为40

    展开全文
  • 供初学者练习和参考使用...1.用函数调用一组数的平均数用数组) #include <stdio.h> int average(int a[],int n) { int i,sum=0; float ave; for(i=0;i<n;i++) sum=sum+a[i]; ave=sum/n; printf...

    供初学者练习和参考使用,代码直接可以运行,这里我就不贴出结果截图了,可以自己运行看看。

    1.用函数调用求一组数的平均数(用数组)

    #include <stdio.h>
    int average(int a[],int n)
    {
    	int i,sum=0;
    	float ave;
    	for(i=0;i<n;i++)
    	sum=sum+a[i];
    	ave=sum/n;
    	printf("average=%f",ave);
    	return ave;
    }
    int main()
    {
    	int a[10]={2,4,6,8,10,12,13,48,52,65};
    	average(a,10);
    	return 0;
    }
    
    

    2.用冒泡排序将10个整数按从大到小排列

    #include <stdio.h>
    int main()
    {
    	int a[10];
    	int i,j,t;
    	printf("请输入10个整数:");
    	for(i=0;i<10;i++)
    	scanf("%d",&a[i]); 
    	for(i=0;i<9;i++)
    	{
    		for(j=0;j<9-i;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("%d ",a[i]);
    	 return 0;
    } 
     
    
    

    3.在一个数组中插入一个数按从小到大排列

    #include <stdio.h>
    int main()
    {
    	int a[11];
    	int i,j,t,x,v;
    	printf("请输入10个整数:\n");
    	for(i=0;i<10;i++)
    	scanf("%d",&a[i]); 
    	for(i=0;i<9;i++)
    	{
    		for(j=0;j<9-i;j++)
    		{
    			if(a[j]>a[j+1])
    			{
    				t=a[j];
    				a[j]=a[j+1];
    				a[j+1]=t;
    			}
    		}
    	 } 
    	 printf("请输入一个整数:\n");
    	 scanf("%d",&x);
    	 for(i=0;i<10;i++)
    	 {
    	 	if(x>a[i]&&x<a[i+1])
    	 	{
    	 		v=i;
    	 		break;
    		 }
    	 	else;
    	  } 
    	  for(i=10;i>v;i--)
    	  a[i]=a[i-1];
    	  a[v+1]=x;
    	  
    	 for(i=0;i<11;i++)
    	 printf("%d ",a[i]);
    	 return 0;
    } 
     
    
    

    4.二维数组求每门课程的平均分最高分学生的平均分

    #include <stdio.h>
    int main()
    {
    	int a[3][4]={{77,68,86,73},{96,87,89,78},{70,90,86,81}};
    	int i,j,sum,max,sumx;
    	for(j=0;j<4;j++)
    	{
    		sum=0;
    		for(i=0;i<3;i++)
    		{
    			sum=sum+a[i][j];	
    		}
    		printf("课程%d的平均分:%d\n",j+1,sum/3);
    		max=a[i][j];
    		for(i=1;i<3;i++)
    		{
    			if(max<a[i][j])
    			{
    				max=a[i][j];	
    			}
    		}
    		printf("课程%d的最高成绩:%d\n",j+1,max);
    	}
    	for(i=0;i<3;i++)
    	{
    		sumx=0;
    		for(j=0;j<4;j++)
    		{
    			sumx=sumx+a[i][j];
    		}
    		printf("学生%d的平均分:%d\n",i+1,sumx/4);
    	}
    	return 0;
    }
    
    

    5.将字符数组s2中的全部字符复制到字符数组s1中

    #include <stdio.h>
    int main()
    {
    	char a1[40];
    	char a2[10];
    	printf("请输入第一行字符串:\n");
    	gets(a1);
    	printf("请输入第二行字符串:\n");
    	gets(a2);
    	int i,j,t;
    	for(i=0;a1[i]!='\0';i++)
    	t=i;
    	for(j=0;a2[j]!='\0';j++)
    	a1[t+j+1]=a2[j];
    	a1[t+j+2]='\0';
    	puts(a1);
    	return 0;
    }
    
    

    6.中午吃啥饭呢?

    #include<stdio.h>
    int main()
    {
    	int xuhao;
    	printf("====中午吃啥饭呢?======\n");
    	printf("1、法式蘑菇鸡肉饭\n");
    	printf("2、匈牙利风味炖牛肉饭\n");
    	printf("3、老北京鸡肉卷\n");
    	printf("4、干烧凤尾鲜虾饭\n");
    	printf("请输入您的选择:");
    	scanf("%d",&xuhao);
    	switch (xuhao)
    	{
    		case 1:printf("不错的选择\n");break;
    		case 2:printf("不错的选择\n");break;
    		case 3:printf("不错的选择\n");break;
    		case 4:printf("不错的选择\n");break;
    		default:printf("输入错误!");
    	 } 
    	 return 0;
     } 
    
    

    7.中午吃啥饭呢?(升级版)

    #include<stdio.h>
    int main()
    {
    	int i,j;
    	printf("====中午吃啥饭呢?======\n");
    	printf("1、法式蘑菇鸡肉饭\n");
    	printf("2、匈牙利风味炖牛肉饭\n");
    	printf("3、老北京鸡肉卷\n");
    	printf("4、干烧凤尾鲜虾饭\n");
    	printf("5、退出\n");
    	printf("请输入您的选择:");
        while(1)
    	{
    		scanf("%d",&i);
    		if(i<=4)
            {
            	printf("不错的选择\n");
                printf("请输入您的选择:");
    		}
    		else if(i==5)
    		break;
    		else
    		{
    			printf("输入错误!\n");
    		    printf("请输入您的选择:");
    		    continue;
    		}
    			
    	}
    	return 0;
     } 
    
    

    8.从键盘输入20个整数,输出它们的和

    #include <stdio.h>
    int main()
    {
       int a,sum=0;
       for (int i=1;i<=20;i++)     
       {
         scanf("%d",&a);   
         sum=sum+a;                
       }
       printf("sum=%d\n",sum);
       return 0;      
    }
    
    
    
    展开全文
  • 如何用数组求总和及平均值 利用数组可以完成很多的事情,最简单的事情是可以用来求和。 #include<stdio.h> int main() { int n,sum=0,a[10]; //定义数组大小,10个元素 float aver; //定义浮点型变量 for(n=0;...

    如何用数组求总和及平均值

    利用数组可以完成很多的事情,最简单的事情是可以用来求和。

    #include<stdio.h>
    int main()
    {
    int n,sum=0,a[10]; //定义数组大小,10个元素
    float aver;  //定义浮点型变量
    for(n=0;n<10;n++)  //for循环
    {
    	scanf("%d",&a[n]); //从键盘上依次输入10个数
        sum = sum + a[n];  //执行10次,将输入的数进行累加
    }
    aver = sum / 10.0;   //求平均
    for(n=0;n<10;n++)    
     printf("%d,",a[n]); //打印用户输入的数
     printf("%d,%f\n",sum,aver);  //输出和及平均值
     return 0 ;
    }
    
    

    如何在数组中按顺序查找与该数相等的数,并输出其所在位置

    #include<stdio.h>
    #define N 10
    int main()
    {
    int m,flag,num;
    int a[N]={10,12,14,16,18,20,22,24,26,28};
    	printf("input a number which from the array");
    	scanf("%d",&num);
     for(m=0;m<N;m++)  
    	 if(num==a[m]){  
    		 printf("%d,%d\n",m,a[m]);  //找到就输出位置
    			flag = 1;}  //设置一个标志位,说明找到了
     if(flag!=1)  //一个等号
       printf("there is no this number");
    return 0 ;      
    }
    
    

    我曾犯的错误:

    1、for循环遍历数组时,初始值要设置为m=0,因为数组元素也是从a[0]开始的,要对应起来。
    2、for循环内部用的是";“而不是”,"初学要注意细节

    展开全文
  • 求平均数的算法

    千次阅读 2014-11-09 14:13:23
    如何用C语言求一个数组平均数? 1.按照小学的数学只是
  • 零基础学C语言(6):数组与函数 数组 数据可以存放在变量里,每一个...第4章提到,求平均数不需要记录每一个数,只需要每读到一个数,就把它加到一个累加的变量里,到全部数据读完,再拿它去除读到的数的个数就可以
  • 选择界面②二维数组和调用函数实现学号、语文、 学、英语成绩的输入、每-一个人的总成绩、平均分、显 示、查询、修改和排序(按总分)功能、输出各科最高分、 以及排序后的成绩表(包含表头)。
  • 定义1个二维数组:int arr[5][6],然后从键盘输入5行6列共30个整数,编程出所有元素中的最大值、最小值及其下标,同时出每行元素的平均值,并在屏幕上打印输出。 提示:在一个二重循环体内scanf函数输入30个...
  • 数组 形式诸如:int number [100]; scanf (&quot;%d&quot;, number [i] );...数组中所有元素的类型相同,且一旦创建,不能改变大小;...初始化:格式如下int v[5] = {1, 2, 3, ...求平均数 问题描述: 用户输...
  • printf("第一门课程平均数为%.2f\n",aver); } void fail(double(*p)[M]) { int i,j,count=0; double sum=0; for(i=0;i;++i) { count=0; sum=0; for(j=1;j;++j) { if(*(*(p+i)+j)) ...
  • c语言 1.利用二维数组和多层for循环实现九九乘法表并显示出来 2.用数组,键盘输入8个同学成绩,求平均数并显示出来。
  • 求C语言编程解答

    2010-04-08 23:39:00
    1.某个公司采用公用电话传递数据...一个整型数组,其值为:{1,2,3,4,5,6}这6个,打印出它所有可能的组合;要求4不能在第3位。 3.海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个
  • 8.7.2 数组名作函数参数 可以用数组名作函数参数此时形参应当用数组名或用指针变量 [例8.11]有一个一维数组score内放10个学生成绩求平均成绩 说明 (1)用数组名作函数参数应该在主调函数和被调函分别定义数组 (2)...
  • 用数组编程,从键盘上输入不超过100个学生单科成绩,统计并输出低于平均成绩的学生人数。 8.用数组编程,从键盘上输入不超过50个字符,统计其中英文字符,空格字符,数字字符及其它字符的个数,并将结果输出。 9.用...
  • 原题目:转录RNA组的平均值与标准差(英文翻译过来的) 附加条件:给了一个200多M的文件(数据,可以以txt,csv等形式打开 ) 拿到题目以后解读数据就费了好长时间,数据中的名称全是英文,看了好半天才明白是...
  • 从键盘上输入10个整数并将其存放在一数组出该数组中所有大于零且为偶数的 平均值 ?若有n行n列组试编写一程序分别出两条对角线元素之和从键盘输入 n*n 个整型n 从键盘输入n*n个整型n ,组成n行n列组...
  • c语言经典案例

    2014-10-30 08:06:57
    实例175 指针数组构造字符串数组 248 实例176 指针函数输出学生成绩 249 实例177 寻找相同元素的指针 251 实例178 查找成绩不及格的学生 252 实例179 使用指针实现冒泡排序 254 实例180 输入月份号并输出英文...
  • C语言程序中定义一整形数组,输入数组的各个元素;汇编语言子程序求数组元素的平均值及小于此值的元素个。最后在C程序中显示平均值和小于此值的元素个。 郑旅军原创,谢绝抄袭!!
  • 从键盘上输入10个整数并将其存放在一数组出该数组中所有大于零且为偶数的平均值 2若有n行n列组试编写一程序分别出两条对角线元素之和从键盘输入n*n个整型n20 3从键盘输入n*n个整型n20,组成n行n列...
  • C语言第8章函数.ppt

    2020-05-03 06:36:49
    特点: 直接用数组名作参数时则为地址传送(不是值传送)即实参数组的首地址传递给形参数组首地址所以,实参形参数组共享相同的内存单元 1. 形参数组可不指定大小,也可用另一参数作大小,以确定使用实数组的元素个 2. ...
  • C语言编程题练习.pdf

    2020-09-09 00:55:28
    1. 编程出 1000 到 3000 之间能被 7 11 17 同时整除的整数的平均值 , 并输出结果保留两位小数 2. 选择结构的嵌套实现判断一个是否同时是 5 和 7 的倍数 3. 在给定的含 n 不超过 100个整数的数组中查找某个 m...

空空如也

空空如也

1 2 3 4
收藏数 62
精华内容 24
关键字:

c语言用数组求平均数

c语言 订阅