1. 程式人生 > >XYNU OJ 1010—1019基礎題(適合於C語言初學者)

XYNU OJ 1010—1019基礎題(適合於C語言初學者)

時間限制: 1 Sec  記憶體限制: 12 MB
提交: 125  解決: 80
[提交][狀態][討論版][Edit] [TestData]

題目描述

輸入一個2000至2500年間(包含2000年和2500年)的任意年份,判斷是否是閏年。

輸入

輸入一個整數year,表示年份。輸入保證2000≤year≤2500。

輸出

如果輸入的年份是閏年,請輸出“leap year”,否則請輸出“not leap year”。
請注意不需要輸出引號,行尾輸出換行。

樣例輸入

2000

樣例輸出

leap year

提示

來源

#include<stdio.h>
int main()
{
	int year;
	scanf("%d\n",&year);
	if(((year%4==0) && (year%100!=0))|| year%400==0)
	{
		printf("leap year\n");
	}
	else
	{
		printf("not leap year\n");
	}
 } 

1011: 例題2-4 簡單公式計算

時間限制: 1 Sec  記憶體限制: 12 MB
提交: 72  解決: 69
[提交][狀態][討論版][Edit] [TestData]

題目描述

計算1-(1)/(2)+(1)/(3)-(1)/(4)+&#8943;+(1)/(99)-(1)/(100)

輸入

輸出

輸出題目描述中表達式的值,使用C語言預設舍入方式保留8位小數。請注意行尾輸出換行。

樣例輸出

0.68817218

提示

來源

#include<stdio.h>
int main()
{
	int sign = 1;
	double i,sum = 0; 
	for(i = 1; i <= 100; i++)
	{
		sum = sign*(1/i)+ sum;
		sign = -sign;
	}
	printf("%.8f\n",sum);
}

1012: 例題2-5 判斷素數

時間限制: 1 Sec  記憶體限制: 12 MB
提交: 99  解決: 70
[提交][狀態][討論版][Edit] [TestData]

題目描述

輸入一個大於等於3的正整數,判斷其是否是素數。

輸入

一個大於等於3並小於10000的正整數n。

輸出

如果n是素數,輸出“prime”,否則請輸出“not prime”。
請注意不需要輸出引號,行尾輸出換行。

樣例輸入

17

樣例輸出

prime

提示

來源

#include<stdio.h>
int main()
{
	int number,i;
	scanf("%d",&number);
	for(i = 2; i < number; i++)
	{
		if(number%i==0)
		{
			break;
		}	
	}
	if(i >= number)
	{
		printf("prime");
	}
	else
	{
		printf("not prime");
	}
	return 0;
 } 

1013: 習題2-4-2 多數求最大值

時間限制: 1 Sec  記憶體限制: 128 MB
提交: 120  解決: 69
[提交][狀態][討論版][Edit] [TestData]

題目描述

輸入10個整數,輸出其中最大的數。

輸入

輸入包含10行,每一行一個整數。

輸出

請輸出讀入的10個數中的最大值。請注意行尾輸出換行。

樣例輸入

10

6
19
35
50
107
10
-25
11
51

樣例輸出

107

提示

來源

#include<stdio.h>
int main()
{
	int a[10],i,t,j;
	for(i = 0; i < 10; i++)
	{
		scanf("%d",&a[i]);
	}
	for(j=0;j<9;j++)
	{
		for(i=0;i<9-j;i++)
		{
			if(a[i]>a[i+1])
			{
				t = a[i];
				a[i] = a[i+1];
				a[i+1] = t;
			}
		}
	}
	printf("%d\n",a[9]);
	return 0;
 } 

1014: 習題2-4-3 三個數排序輸出

時間限制: 1 Sec  記憶體限制: 128 MB
提交: 100  解決: 70
[提交][狀態][討論版][Edit] [TestData]

題目描述

輸入3個整數a、b、c,按從小到大的順序輸出。

輸入

輸入包含一行,包含三個用空格隔開的整數。

輸出

請按從小到大的順序輸出讀入的三個數。請注意行尾輸出換行。

樣例輸入

18 11 34

樣例輸出

11 18 34

提示

來源

#include<stdio.h>
int main()
{
	int a,b,c,t;
	scanf("%d%d%d",&a,&b,&c);
	if(a>b){t = a; a = b; b = t;}
	if(b>c){t = b; b = c; c = t;}
	if(a>c){t = a; a = c; c = t;}
	printf("%d %d %d\n",a,b,c);
	return 0;
 } 


1015: 習題2-4-4 連續多數求和

時間限制: 1 Sec  記憶體限制: 128 MB
提交: 70  解決: 65
[提交][狀態][討論版][Edit] [TestData]

題目描述

求1+2+3+…+100的值。

輸入

輸出

輸出題目描述中表達式的值。請注意行尾輸出換行。

樣例輸入

樣例輸出

5050

提示

來源

#include<stdio.h>
int main()
{
	int i,sum = 0;
	for(i = 1; i <= 100; i++)
	{
		sum = sum + i;
	}
	printf("%d\n",sum);
	return 0;
}



1016: 習題2-4-5 判斷整除

時間限制: 1 Sec  記憶體限制: 12 MB
提交: 67  解決: 64
[提交][狀態][討論版][Edit] [TestData]

題目描述

判斷一個整數能否同時被3和5整除。

輸入

一個整數n。

輸出

如果n是能同時被3和5整除,輸出“can”,否則請輸出“cannot”。
請注意不需要輸出引號,行尾輸出換行。

樣例輸入

14

樣例輸出

cannot

提示

來源

#include<stdio.h>
int main()
{
	int N;
	scanf("%d",&N);
	if(N%3==0 && N%5==0)
	{
		printf("can");
	}
	else
	{
		printf("cannot");
	}
	return 0;
}


1017: 習題2-4-6 判斷素數

時間限制: 1 Sec  記憶體限制: 12 MB
提交: 100  解決: 69
[提交][狀態][討論版][Edit] [TestData]

題目描述

輸出100至200之間的所有素數。

輸入

輸出

每一個素數一行。

樣例輸入

樣例輸出

101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199

提示

來源

#include<stdio.h>
int main()
{
	int N;
	scanf("%d",&N);
	if(N%3==0 && N%5==0)
	{
		printf("can");
	}
	else
	{
		printf("cannot");
	}
	return 0;
}

1018: 習題2-4-7 求最大公約數

時間限制: 1 Sec  記憶體限制: 12 MB
提交: 90  解決: 81
[提交][狀態][討論版][Edit] [TestData]

題目描述

讀入兩個正整數m和n,計算m和n的最大公約數。

輸入

兩個空格隔開的正整數m和n。

輸出

m和n的最大公約數。注意行尾輸出換行。

樣例輸入

35 14

樣例輸出

7

提示

來源

#include<stdio.h>
int main()
{
	int m, n,temp,i;
	scanf("%d%d",&m,&n);
	if(m > n)
	{
		temp = m;
		m  = n;
		n = temp;
	}
	for(i = m; i >= 0; i--)
	{
		if((n%i==0)&&(m%i==0))
		{
			printf("%d\n",i);
			break;
		}
	}
	return 0;
}

1019: 習題2-4-8 一元二次方程求根

時間限制: 1 Sec  記憶體限制: 12 MB
提交: 145  解決: 63
[提交][狀態][討論版][Edit] [TestData]

題目描述

求方程式ax2+bx+c=0的根。

輸入

三個用空格隔開的整數a、b、c,分別表示一元二次方程的係數,並保證a不為0。

輸出

方程式ax2+bx+c=0的根,若有兩個不同的實根,則輸出這兩個實根,用空格隔開;若有一個實根,請直接輸出;若沒有實根,請輸出“no answer”(請注意不需要輸出引號)。所有的實數輸出請使用C語言的預設舍入方式保留4位小數,注意行尾輸出換行。

樣例輸入

8 -25 4

樣例輸出

0.1692 2.9558

提示

來源

#include<stdio.h>
#include<math.h>
int main()
{
	double a, b, c;
	scanf("%lf%lf%lf",&a,&b,&c);
	if(b*b<4*a*c)
	{
		printf("no answer");
	}
	else
	{
    	printf("%.4f ",(-b-(sqrt(b*b-4*a*c)))/(2*a));
	    printf("%.4f\n",(-b+(sqrt(b*b-4*a*c)))/(2*a));
	}
	return 0;
}
歡迎訪問XYNUOJ平臺:http://210.43.24.243/ 適合與C語言初學者和ACMer初學者練手