1. 程式人生 > 實用技巧 >撫職_C語言寫程式31道題_解析

撫職_C語言寫程式31道題_解析

1.讀入資料求圓面積

原始碼:

#include <stdio.h>
#define PI 3.14
main()
{
	float r;
	float area;
	printf("請輸入圓的半徑r:\n");
	scanf("%f",&r);
	area=PI*r*r;
	printf("這個圓的面積是:%f\n",area );
}

2.讀入長寬求長方形面積

原始碼

#include <stdio.h>
main()
{
	float x;
	float y;
	printf("請輸入長方形的長和寬:\n");
	scanf("%f%f",&x,&y);
	printf("這個長方形面為:%f\n",x*y);
}

3.十評委平均分

原始碼:

#include <stdio.h>
main()
{
	int i;
	float sum=0;
	float a[10];
	printf("請輸入十位評委的分數:\n");
	for(i=0;i<10;i++)
	{
		scanf("%f",&a[i]);
		sum+=a[i];
	}
	printf("十個評委的打分平均分是:%f\n",sum/10);
}

4.去最高最低10評委平均分

原始碼:

#include <stdio.h>
main()
{
	int i;
	float a[10];
	float sum = 0;
	float max=0;
	float min=100;
	printf("請輸入10位評委分數\n");
	for(i=0;i<10;i++)
	{
		scanf("%f",&a[i]);
		if(a[i]>max) max = a[i];
		if(a[i]<min) min = a[i];
		sum+=a[i];
	}
	sum = sum - (max + min);
	printf("去掉最高分%5.2f去掉最低分%5.2f,平均分為:%5.2f\n",max,min,sum/8 );
}

5.計程車計費

原始碼:

#include <stdio.h>
main()
{
	int x; //公里
	float y; //計費
	printf("請輸入您的公里數:\n");
	scanf("%d",&x);
	if(x>5) printf("需要付款%5.2f元\n", 8+1.2*(x-1));
	if(x<=5) printf("未超出5公里收費為起步價8元!\n");
}

6.輸入10數統計正數平均值並輸出

原始碼

#include <stdio.h>
main()
{
	float a[10];
	int n=0;
	float sum=0;
	int i;
	printf("親輸入10個數統計平均值輸出:\n");
	for(i=0;i<10;i++)
	{
		scanf("%f",&a[i]);
		if(a[i]>0)
		{
			n++;
			sum+=a[i];
		}
	}
	printf("輸入10個數中,%d個正數,平均值是%5.2f\n",n,sum/n );
}

7.輸入10數統計負數平均值並輸出

原始碼:

#include <stdio.h>
main()
{
	float a[10];
	int n=0;
	float sum=0;
	int i;
	printf("親輸入10個數統計平均值輸出:\n");
	for(i=0;i<10;i++)
	{
		scanf("%f",&a[i]);
		if(a[i]<0)
		{
			n++;
			sum+=a[i];
		}
	}
	printf("輸入10個數中,%d個負數,平均值是%5.2f\n",n,sum/n );
}

8.求一個數的絕對值

原始碼:

#include <stdio.h>
main()
{
	float a;
	printf("請輸入一個數:\n");
	scanf("%f",&a);
	if(a < 0) 
		{
			a = a - (a+a);
			printf("絕對值是:%f\n", a);
		}
	else
		{
			printf("該數是正數!絕對:%5.2f\n",a );
		}
}

9.前100自然數和

原始碼:

#include <stdio.h>
main()
{
	int i;
	int sum=0;
	for(i=1;i<=100;i++)
	{
		sum+=i;
	}
printf("前100自然數的和是%d\n",sum);
}

10. 前100奇數和

原始碼:

#include <stdio.h>
main()
{
	int i;
	int jisum=0;
	for(i=1;i<=100;i+=2)
	{
		jisum+=i;
	}
	printf("前100自然數奇數的和是:%d\n",jisum );
}

11. 前100自然數偶數和

原始碼:

#include <stdio.h>
main()
{
	int i;
	int ousum=0;
	for(i=2;i<=100;i+=2)
	{
		ousum+=i;
	}
	printf("前100自然數的偶數和是:%d\n",ousum );
}

12.前5個自然數的階乘

原始碼:

#include <stdio.h>
main()
{
	int i;
	int x=1;
	for(i=1;i<=5;i++)
	{
		x=(x*i);
	}
	printf("前5個自然數的階乘是:%d\n",x );
}

13.輸出前100個自然數奇數的積

原始碼:

#include <stdio.h>
main()
{
	int i;
	int jiji=1;
	for(i=1;i<=10;i+=2)
	{
		jiji=jiji*i;
	}
	printf("前10個自然數奇數的積是:%d",jiji);
}

14. 輸出前10個自然數偶數的積

原始碼:

#include <stdio.h>
main()
{
	int i;
	int jiji=1;
	for(i=2;i<=10;i+=2)
	{
		jiji=jiji*i;
	}
	printf("前10個自然數偶數的積是:%d",jiji);
}

15. 列印100以內質數

原始碼:

#include <stdio.h>
main()
{
	int i;
	int j;
	for(i=1;i<=100;i++)
	{
		for(j=2;j<i;j++)
		{
			if(i%j==0) break;
		}
		if(i==j) printf("%d是質數。\n",i );
	}
}