程序设计入门-c语言(第4周练习题)

1
素数和(5分)

题目内容:

我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。

现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

输入格式:

两个整数,第一个表示n,第二个表示m。

输出格式:

一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

输入样例:

2 4

输出样例:

15

时间限制:500ms内存限制:32000kb

[php]
#include <stdio.h>

int chackSuShu(int n)
{
int i;
if(n == 2)
return 1;
for( i =2; i<n; i++)
{
if( n%i ==0)
return 0;
}
return 1;
}

int main()
{
int n,m,i,cut=0;
int he=0;
scanf("%d %d", &n, &m);
i=2;
while(cut<=m)
{
if(chackSuShu(i)==1)
{
cut ++;
if(cut>=n && cut <= m){
he += i;
}
}
i++;
}
printf("%d", he);
return 0;
}

[/php]


2
念整数(5分)

题目内容:

你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。

如输入1234,则输出:

  1. yi er san si

注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:

  1. fu er san si yi

输入格式:

一个整数,范围是[-100000,100000]。

输出格式:

表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。

输入样例:

-30

输出样例:

fu san ling

时间限制:500ms内存限制:32000kb

[php]
#include <stdio.h>

void outNum(int num)
{
switch(num)
{
case 1: printf("yi");break;
case 2: printf("er");break;
case 3: printf("san");break;
case 4: printf("si");break;
case 5: printf("wu");break;
case 6: printf("liu");break;
case 7: printf("qi");break;
case 8: printf("ba");break;
case 9: printf("jiu");break;
case 0: printf("ling");break;
}
}

int chackNum(int num)
{
int n,tmp,out;
tmp = num;
n = tmp %10;
tmp /= 10;
if (tmp>0)
{
out = chackNum(tmp);
outNum(out);
printf(" ");
}
return n;
}

int main()
{
int num,out;
scanf("%d", &num);
if( num < 0 )
{
printf("fu ");
}
num = abs(num);
out = chackNum(num);
outNum(out);
}

[/php]