#include
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 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
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
{ #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 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 { 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 { 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 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 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

