你好!
我們一直強調網(wǎng)站制作、成都網(wǎng)站設計對于企業(yè)的重要性,如果您也覺得重要,那么就需要我們慎重對待,選擇一個安全靠譜的網(wǎng)站建設公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過程中的有力推手。專業(yè)網(wǎng)站建設公司不一定是大公司,成都創(chuàng)新互聯(lián)作為專業(yè)的網(wǎng)絡公司選擇我們就是放心。
完整的代碼:
#includestdio.h
int?main(void)
{
double?x=0,z=0;
int?y=0;
int?y1=0;
printf("請輸入?10?個數(shù),空格分開:");
for(y=0;y10;y++)
{
scanf("%lf",x);
if(z=0)
{
z?=?z?+?x;
y1++;
}
getchar();
}
printf("平均數(shù)是:?%.2lf?\n",z/y1);
return?0;
}
1、#includestdio.hint?main()
2、{????int?a,b,c;????scanf("%d%d%d",a,b,c);
3、?int?sum?=?a+b+c;
4、???printf("和:?%d",sum);
5、printf("平均值:%f",sum/3.0);
6、return?0
講解:
1、先定義四個整形。
2、一個浮點型保存平均值。
3、然后在控制臺等待輸入。
4、將輸入的三個整數(shù)加起來賦值給sum。
5、將三個整形除以3.0(為什么是3.0,是因為ave是浮點型的,隱性轉換到float)。
6、然后輸出。
C語言中,并沒有專門的求平均數(shù)函數(shù)。一般都是根據(jù)需要自行編寫。
一、算法設計:
平均數(shù)需要先計算一組數(shù)的總和,然后除以總個數(shù)。
所以需要按照如下步驟進行:
1、確認元素個數(shù)及各個元素值;
2、遍歷,累加各個元素;
3、除以個數(shù),得到平均數(shù);
4、輸出結果。
二、參考代碼:
以整型為例:
#include?stdio.h
float?ave(int?*a,?int?n)
{
float?s=0;
int?i;
for(i=0;in;i++)//遍歷。
s+=a[i];//累加。
s/=n;//計算平均數(shù)。
return?s;//返回結果。
}
int?main()
{
int?a[5]?=?{2,6,8,9,3};//待計算數(shù)組。
printf("%f\n",?ave(a,5));//調用函數(shù),計算平均數(shù)并輸出。?
return?0;
}
注意:由于平均數(shù)涉及除法,所以一般平均數(shù)值并不是整數(shù),所以需要用浮點數(shù)來存儲平均數(shù)。?
#include?stdio.h
double?average(int?k[10]?);??//有改動
void?main()
{
int?a[10],i;
double?average1;
for(i=0;i10;i++)
scanf("%d",a[i]);
average1=average(a);
printf("%lf",average1);
}
double?average(int?k[10]?)??//有改動
{
double?sum=0;
int?j;
for(j=0;j10;j++)
sum=sum+k[j];
return(sum/10);
}
看了你這程序,運用了指針和鏈表,應該學得很后了,應該很容易就會這個求平均值的函數(shù)的,這是我指出的問題:
1、結構體的聲明應該在主函數(shù)外,這是一個編程習慣,便于其他函數(shù)的引用
2、但結構體變量的定義就應該在main里面例如:struct node *first,*p,*last;這樣不會干擾其他函數(shù)的同名變量
3、其實大型的軟件main里面只有界面的幾句話,你建立鏈表的過程應該獨立為一個函數(shù)比較好,不過你這程序比較簡單就不必要
下面是我修改的程序:
#include stdio.h
#include stdlib.h
struct node
{
int num;
char name[10];
int yuwen;
int shuxue;
int yinyu;
float pjf;//存儲平均分
struct node *next;
};
float pjf(struct node *head);//聲明求平均分函數(shù)
main()
{
struct node *first,*p,*last;
int count,i;
printf("輸入學生數(shù)\n");
scanf("%d",count);
p=(struct node*)malloc(sizeof(struct node));
printf("依次輸入學生號、名字、語文、數(shù)學、英語\n");
scanf("\n%d\n%s\n%d\n%d\n%d",p-num,p-name,p-yuwen,p-shuxue,p-yinyu);
p-next=NULL;
last=first=p;
for(i=1;icount;i++)
{
p=(struct node*)malloc(sizeof(struct node));
scanf("\n%d\n%s\n%d\n%d\n%d",p-num,p-name,p-yuwen,p-shuxue,p-yinyu);
p-next=NULL;
last-next=p;
last=p;
}
p=first;
printf("學生號\t名字\t語文\t數(shù)學\t英語\t平均分\n");
while(p!=NULL)
{
p-pjf=pjf(p);//調用求平均分的函數(shù)
printf("%d\t%s\t%d\t%d\t%d\t\%g\n",p-num,p-name,p-yuwen,p-shuxue,p-yinyu,p-pjf);
p=p-next;
}
}
float pjf(struct node *head)
{
float x=0;
struct node *p=head;
x=(p-shuxue+p-yinyu+p-yuwen)/3;
return(x);
}
題目:計算鍵盤輸入的整數(shù)的平均值。遇到輸入數(shù)為負數(shù)時,結束程序,輸出結果。
實現(xiàn)過程:
定義一個整形變量n,用來存儲每次輸入的整數(shù)
定義一個整形變量cnt,用來記錄輸入的整數(shù)的個數(shù)
定義浮點型變量sum保存整數(shù)的和,初始化為0.0
使用for循環(huán),cnt為循環(huán)控制變量,輸入一個整數(shù)n,若n0結束循環(huán),否則將輸入的數(shù)據(jù)n累加到sum中
如果cnt大于0,則輸出平均值sum/cnt ;
參考代碼: