C语言练习题答案(2)

2019-01-27 10:04

scanf(\ }

while(m < 2); //e1

flag = Fun(m); //3

if(flag) //1

printf(\ else

printf(\

return0;

} intFun(intm)//2

{ inti, flag = 1; //1

for(i = 2; i < m; i++) //1 { if(m % i == 0) //1

{ flag = 0; //1 break; } }

returnflag;//2 }

- ---------------------------------------------------------5 6.求1898

现將不超过2000的所有素数从小到大排成第一行,第二行上的每个数都等于它“右肩”上的素数与“左肩”上的素数之差。请编程求出:第二行数中是否存在这样的若干个连续的整数,它们的和恰好是1898?假如存在的话,又有几种这样的情况? **输入格式要求:提示信息:\**输出格式要求:\程序运行示例如下:

There are follwing primes in first row : (1).101,......,1999 (2). 89,......,1987 (3). 53,......,1951 (4). 3,......,1901 答案:

#include #defineN 330 int a[N]; int main()

{ }

7.从键盘任意输入一个整数m,若m不是素数,则对m进行质因数分解,并将m表示为质因数从小到大顺序排列的乘积形式输出,否则输出\。例如,用户输入90时,程序输出90 = 2 * 3 * 3 * 5;用户输入17时,程序输出\prime number\。

输入提示信息:\输入格式:\输出格式:

是素数时输出\

}

printf(\); for (c = 329;c >= 0;c--)

for (b = c + 1;c < b;b++)

if (b < 330) { } else

break;

if ((a[b] - a[c]) == 1898) { } else

continue;

printf(\, d, a[c], a[b]); d++;

int c = 0, b = 0, d = 1; int i = 0, j = 0, k = 0; for (i = 3;i <= 2000;i++) {

for (j = 2;j < i;j++) { }

if (j == i) { } else

continue; a[k] = i; k++;

if (i%j == 0) else

continue; break;

否则输出用\,\运行示例1: Input m:90↙ 90 = 2 * 3 * 3 * 5 运行示例2: Input m:13↙ It is a prime number 答案:

#include #include intIsPrime(intx);

voidOutputPrimeFactor(intx); intmain() { intm;

printf(\ scanf(\ if(IsPrime(m)) {

printf(\ } else {

printf(\ OutputPrimeFactor(m); } return0; }

intIsPrime(intx) {

inti,flag=1;

intsquareRoot=sqrt(x); if(x<=1) { flag=0; }

for(i=2;i<=squareRoot&&flag;i++) {

if(x%i==0) { flag=0; } }

returnflag;

}

voidOutputPrimeFactor(intx) { inti;

for(i=2;i

if(x%i==0) {

printf(\ OutputPrimeFactor(x/i); return; } }

printf(\ }

---------------------------7 8.

将任一整数转换为二进制形式。

**输入格式要求:\提示信息:\

**输出格式要求:\程序运行示例如下: Input number:876

number of decimal form:876

it's binary form: 00000000000000000000001101101100

答案:

#include #include int main() { }

---------------------------8 9.

求自然数n最近的素数k, k>n。

***输入提示信息**:\***输入数据格式**:\***输出数据格式**:\

int a; char b[32];

printf(\); scanf(\, &a);

printf(\, a); printf(\); printf(\, itoa(a, b, 2));

示例 输入: 257 输出:

Please input n:263 答案:

#include int main() {

int n, i = 1, k;

printf(\ scanf(\ for (k = n + 1;i;k++) {

for (i = 2;i < k;i++) if (k%i == 0) break; else

continue; if (i == k) {

printf(\ i = 0; break; } } }

---------------9 10.

如果一个正整数m的所有小于m的不同因子(包括1)加起来正好等于m本身,那么就被称它为完全数。它是指这样的一些特殊的自然数,它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。

注意:1没有真因子,所以不是完全数。例如,6就是一个完全数,是因为6 = 1 + 2 + 3。 请编写一个判断完全数的函数IsPerfect(),然后判断从键盘输入的整数是否是完全数。

要求:按如下原型编写判断完全数的函数,若函数返回0,则代表不是完全数,若返回1,则代表是完全数。

int IsPerfect(int x);

**要求输入提示信息为: \**要求输入格式为: \**要求输出格式为

\\


C语言练习题答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016-2017学年河北省沧州市七年级上学期数学期末试卷带答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: