教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

C语言复习资料 上机模拟题(5)

来源:网络收集 时间:2026-09-10
导读: return 1; } else return 0; } 50005 统计素数并求和 输入2 个正整数m和n(1 要求定义并调用函数prime(m)判断m是否为素数。 例:运行3次程序 括号内是说明 输入: 1 10 (m=1, n=10) 输出: count=4, sum=17 (1到10之

return 1; }

else return 0; }

50005 统计素数并求和

输入2 个正整数m和n(1<=m,n<=500),统计并输出m 和n之间的素数的个数以及这些素数的和(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。

要求定义并调用函数prime(m)判断m是否为素数。 例:运行3次程序 括号内是说明 输入:

1 10 (m=1, n=10) 输出:

count=4, sum=17 (1到10之间有4个素数:2,3,5,7) 输入:

20 35 (m=20, n=35) 输出:

count=3, sum=83 (20到35之间有3个素数:23, 29, 31) 输入:

14 16 (m=14, n=16) 输出:

count=0, sum=0 (14到16之间没有素数)

#include \#include \int main( )

{ int count=0, i, m, n, sum=0; int prime(int m);

scanf(\ for(i=m;i<=n;i++)

if(prime(i)){ count++;sum+=i;}

printf(\}

int prime(int m) { int i; if(m>1){

for(i=2;i<=sqrt(m);i++) if(m%i==0) return 0; return 1; }

else return 0; }

50006 输出 Fibonacci 序列

输入2 个正整数m和n(1<=m,n<=10000),输出m 和n之间所有的Fibonacci数。 Fibonacci 序列(第1项起):1 1 2 3 5 8 13 21 ...... 要求定义并调用函数fib(n),它的功能是返回第n项Fibonacci数。例如,fib(7)的返回值是13。

输出语句:printf(\

例:运行3次程序 括号内是说明 输入:

1 10 (m=1, n=10) 输出:

1 1 2 3 5 8 (1到10之间的Fibonacci数) 输入:

20 100 (m=20, n=100) 输出:

21 34 55 89 (20到100之间的Fibonacci数) 输入:

1000 6000 (m=1000, n=6000) 输出:

1597 2584 4181 (1000到6000之间的Fibonacci数)

#include \#include \int main( ) { int i, m, n; long f;

long fib(int n);

scanf(\ for(i=1;fib(i)<=n;i++){ f=fib(i);

if(f>=m&&f<=n) printf(\ }

printf(\}

long fib(int n) { int a=1,b=1,i,t;

if(n==1||n==2) return 1; for(i=1;i

return t; }

50007 求完数

输入2 个正整数m和n(1<=m,n<=1000),输出m 到n之间的所有完数(完数就是因子和与它本身相等的数)。

要求定义并调用函数factorsum(number),它的功能是返回number的因子和。例如,digitsum(12)的返回值是16(1+2+3+4+6)。 输出语句:printf(\例:运行2次程序 括号内是说明 输入:

20 500 (m=100, n=400) 输出: 28 496 输入:

1 100 (m=1, n=100) 输出: 1 6 28

#include \int main( ) { int i, m, n;

int factorsum(int number); scanf(\ for(i=m;i<=n;i++)

if(i==factorsum(i)) printf(\ printf(\}

int factorsum(int number) {

int i,sum=0;

if(number==1) return 1; for(i=1;i<=number/2;i++) if(number%i==0) sum+=i; return sum; }

50008 求各位数字的立方和等于它本身的数

输入2 个正整数m和n(1<=m,n<=1000),输出m 到n之间的所有满足各位数字的立方和等于它本身的数。

要求定义并调用函数is(number)判断number的各位数字之立方和是否等于它本身。

输出语句:printf(\例:运行2次程序 括号内是说明 输入:

100 400 (m=100, n=400)

输出:

153 370 371 (1*1*1+5*5*5+3*3*3=153; 3*3*3+7*7*7=370; 3*3*3+7*7*7+1*1*1=371) 输入:

1 100 (m=1, n=100) 输出: 1

#include \int main( ) { int i, m, n;

int is(int number); scanf(\ for(i=m;i<=n;i++)

if(is(i)) printf(\ printf(\}

int is(int number) { int t,sum=0,temp; t=number; while(t!=0){ temp=t;

sum+=temp*temp*temp; t=t/10; }

if(sum==number) return 1; else return 0; }

50009 将一个整数逆序输出 输入一个整数,将它逆序输出。

要求定义并调用函数reverse(number),它的功能是返回number的逆序数。例如reverse(12345)的返回值是54321。 例:运行4次程序 括号内是说明 输入 123456 输出 654321 输入 -100 输出 -1 输入 -2

输出 -2 输入 99 输出 99

#include int main( )

{ long in, res;

long reverse(long number); scanf(\ res=reverse(in);

printf(\ }

long reverse(long number) { int i;

long sum=0;

while(number!=0){

sum=sum*10+number; number=number/10; }

return sum; }

50010 十进制转换二进制

输入1 个正整数n,将其转换为二进制后输出。

要求定义并调用函数 dectobin(n),它的功能是输出 n 的二进制。例如,调用dectobin(10),输出1010。 输出语句:printf(\

例:运行3次程序 括号内是说明 输入: 15 输出: 1111 输入: 100 输出: 1100100 输入: 0

输出: 0

…… 此处隐藏:588字,全部文档内容请下载后查看。喜欢就下载吧 ……
C语言复习资料 上机模拟题(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/604885.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)