北工大C语言题库(完美版)

2026/1/21 10:21:02

#include int main() { int m,n,i; int is(int number); printf(\输入正整数m (n>m>=1):\ scanf(\ printf(\输入正整数n (n<=1000):\ scanf(\ for (i=m;i<=n;i++){ if(is(i)==1){ printf(\ } } printf(\ return 0; }

int is(int number) { int a,b,c,t,k; a=number; b=(number/10); c=number/100; k=a*a*a+b*b*b+c*c*c; if(number==k) t=1; return t; }

测试结果:

(1)输入: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)

(2)输入:1 100<回车> (说明:即m=1, n=100) 输出:1

题目8:将一个整数逆序输出

要求:输入一个整数,将它逆序输出。

要求定义并调用函数reverse(number),它的功能是返回number的逆序数。例如reverse(12345)的返回值是54321。 程序:

#include int main() { int m,n; int reverse(int number); printf(\输入一个整数m:\ scanf(\ n=reverse(m); printf(\逆序数字为:%d\\n\ return 0; }

int reverse(int number){ int result=0; do{ result=result*10+number;

number=number/10; }while(number<0||number>0); return result; }

测试结果:

(1)输入:123456<回车>输出:654321

(2)输入:-100<回车>输出:-1

(3)输入:99<回车>输出:99

题目9:求的前30项之和,

要求定义并调用函数fact(n)计算n! 程序:

#include int main() { int x,i; double item=0,sum=1; double fact(int n); int fm(int m); printf(\输入一个整数x:\ scanf(\ for(i=1;i<=x;i++){ item=1.0*fact(i)/(2*i+1); sum=sum+item; } printf(\ return 0; }

double fact(int n) { double result; if (n==1 || n==0) result = 1; else

result = n * fact(n-1); return result; }

前30项之和 = 4,503,822,735,103,803,000,000,000,000,000

一、阅读程序

1. #include main( )

{ #define NUM 6; int fib[6]; int i; fib[0]=0; fib[1]=1;

for (i=2; i

for (i=0; i

}

(1) 程序的运行结果是: 0 1 1 2 3 5

(2) 简述程序的主要功能:输入一个六个数的数组,每一项为前两项的和,计算并输出所有数,每输出三个数换行输出 2.#include int main( void)

{ int a[8]={11,12,13,14,15,16,17,18}; int i=0,sum=0; while(i<=7){ if(a[i]%2==1) sum=sum+a[i]; i++; }

printf(\return 0; }

(1) 程序的功能是: 计算并输出八个数的数组中所有奇数的和 (2) 输出结果是:56 3.#include int main(void)

{ float s[6]={1,3,5,7,9}; float x; int i;

scanf(“%f”,&x); for(i=4;i>=0;i--)

if(s[i]>x) s[i+1]=s[i]; else break;

printf(“%d\\n”,i+1); return 0; }

(1) 如果输入4,则输出:2 (2)如果输入5,则输出:3 4.#include void main(void)

{ int a[10],max,min,i,sum; for(i=0;i<10;i++) scanf(“%d”,&a*i+); max=min=sum=a[0]; for(i=1;i<10;i++) { sum=sum+a[i]; if(a[i]>max) max=a[i]; if(a[i]

printf(\}

(1) 若在程序运行时输入: 3 1 4 7 10 8 9 2 6 5 <回车>

程序的输出结果是:max=10,min=1,sum=55 (2) 简述程序的主要功能:输入一个十个数的数组,计算并输出这个数组中的最大值、最小值、所有数加起来的和 5.#include #include int prime(int m) {

int i,result=1; for (i=2; i<=m/2; i++) if (m % i==0) result =0; if (m==1) result =0;

returnresult; }

void main()

{ int a[10],i,sum=0; for(i=0;i<10;i++) {

scanf(\count=count+prime(a[i]); }

printf(\}

(1) 若在程序运行时输入: 1 2 3 4 5 6 7 8 9 10<回车> 程序的运行结果为:4 (2) 简述prime函数的主要功能:判断一个数是不是质数,是质数输出1,不是质数输出0

二、程序填空题

下列程序的功能是:求出数组x中各相邻两个元素的和一次存放到数组a中,然后输出. #include int main(void) {

int x[10],a[9],i; for (i=0;i<10;i++) scanf(“%d”,&x*i+); for(i=1;i<10;i++) a[i-1]=x[i]+x[i-1]; for (i=0;i<9;i++) printf(“%d”,a*i+); }

三、程序设计

1. 交换最小值和最大值 1.1. 题目要求:

输入一个正整数n (1

#include void main() { int i,n; int a[10]; int s,p; printf(\ scanf(\ for(i=0;i


北工大C语言题库(完美版).doc 将本文的Word文档下载到电脑
搜索更多关于: 北工大C语言题库(完美版) 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

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