iT邦幫忙

2021 iThome 鐵人賽

DAY 11
0
自我挑戰組

C語言救救我系列 第 11

Day11-"一維陣列練習"

  • 分享至 

  • xImage
  •  

利用scanf將各年級的每班人數存進陣列裡,並印出結果。總共3個年級每個年級有10個班。
.
.
.
.
.

#include <stdio.h>
#include <stdlib.h>

void main(void)
{
	int a[10];
	int x;
	int y=1,z=1;
	for(z=1;z<4;z++)
	{
		y=1;
		for(x=0;x<10;x++)
		{
			scanf("%d",&a[x]);
			printf("%d年%2d班的人數:%2d人\n",z,y,a[x]);
			y=y+1;
		}	
	}
}

利用第一題的陣列算出全校總人數。
.
.
.
.
.

#include <stdio.h>
#include <stdlib.h>

void main(void)
{
	int a[10];
	int x;
	int y=1,z=1;
	int sum=0;
	for(z=1;z<4;z++)
	{
		y=1;
		for(x=0;x<10;x++)
		{
			scanf("%d",&a[x]);
			printf("%d年%2d班的人數:%2d人\n",z,y,a[x]);
			y=y+1;
			sum=sum+a[x];
		}	
	}
	printf("\n全校總共有%d人\n\n",sum);
}

輸入此月份的每日氣溫後算出這個月的平均氣溫,要注意的是會有小數因此在宣告時需要注意資料型態。此月份為30天
.
.
.
.
.

void main(void)
{
	float a[30],sum=0;
	int x;
	int y=1;
	for(x=0;x<30;x++)
	{
		scanf("%f",&a[x]);
		printf("%d號氣溫:%f\n",y,a[x]);
		y=y+1;
		sum=sum+a[x];
	}
	sum=sum/30;
	printf("\n平均溫度為:%f",sum);
}

輸入數列的前五項,印出第六項。前五項需為等差或是等比級數,且一次最少執行一筆,最多可以一次執行10筆資料
.
.
.
.
.

#include <stdio.h>
#include <stdlib.h>

void main(void)
{
	int i;
	int x[10],y[10],a[10],b[10],c[10],d[10],e;
	int f[10],g[10],h[10];
	while(scanf("%d",&i)>0)
	{
		for(e=0;e<i;e++)
		{
			scanf("%d%d%d%d%d",&x[e],&y[e],&a[e],&b[e],&c[e]);
			f[e]=y[e]-x[e];
			g[e]=b[e]-a[e];
			h[e]=c[e]/b[e];
			if(f[e]==g[e])
			{
				d[e]=c[e]+f[e];
			}
			else
			{
				d[e]=c[e]*h[e];
			}
		}
		printf("\n");
		for(e=0;e<i;e++)
		{
			printf("%d %d %d %d %d %d\n",x[e],y[e],a[e],b[e],c[e],d[e]);
		}
		i=i-1;
	}
}

利用scanf輸入數列的前五項,將scanf到的資料存放在陣列裡。因為五項數值不是等比就是等差,因此我們可以利用第二項減第一項判斷,是否與第四項減第三項相同,如果相同我們就將最後一項加上公差,反之則是利用最後一項乘上公差,因為我們是要一次將全部印出,而不是一項一項所以我們一樣將算完的最後一項存入陣列中,到最外面我們再利用迴圈將一次全部印出。

/images/emoticon/emoticon29.gif

Day11就到這啦BYE~


上一篇
Day10-"一維陣列"
下一篇
Day12-"二維陣列"
系列文
C語言救救我30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言