大家帮帮忙,明天下午就要用了!!!! 1. 编写一个函数fun,然后设计主函数调用函数fun。函数fun的功能是:计算正整数num的各位上的数字之积。例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。
2. 编写一个函数fun,然后设计主函数调用函数fun。函数fun的功能是:统计不超过一个整数m(包括m且m33)的素数个数(不包括1和2)。 3. 编写函数int fun (int lim, int aa[MAX] ),该函数的功能是求出小于lim的所有素数并放在aa数组中,该函数返回所求出素数的个数。然后编写主函数调用它。
----------------解决方案--------------------------------------------------------
1。可以这样啊,把这个数分开啊,如出252可以分为百位为252/100=2,252%100/10=5,252%10=2.然后在把他们相乘不就出来啦。
----------------解决方案--------------------------------------------------------
问题2和3可以共用一个函数,代码如下: // File Name: bbs_main.cpp // Author : olive zhang // Date : Sep. 21. 05
#include <iostream.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <stdio.h> #include <iomanip.h>
int MultiplyFactor(int digit); // function of the first question
int GetPrimeNumber(int Num, int *primeNum); //function of the second and third question int Light(int lightNum); int main() { // Q1: int factor; int multiResult; cin >> factor; multiResult = MultiplyFactor(factor); cout << "multiResult = " << multiResult << endl; // Q2 and Q3: int num; int n; int primeNum[100]; cin >> num;
n = GetPrimeNumber(num, primeNum); cout << "prime number is: " << endl; for (int i=0; i<n; i++) { cout <<setw(4) << primeNum[i]; if ((i+1)%10 == 0) cout << endl;
} cout << endl; cout << "n:" << n << endl;
return 0; }
//------------------------------------------------------------------------// // Function: MultiplyFactor() // Input : digit // Output : return the result of caculation //------------------------------------------------------------------------//
int MultiplyFactor(int digit) { int result = 1; int n = 1; int base = 1;
if (digit == 0) return 0;
if (digit < 0) digit = -digit;
while (digit) { result *= digit%10; digit /= 10; }
return result; }
//------------------------------------------------------------------------// // Function: GetPrimeNumber() // Input : Num -- a digit for caculating prime number // primeNum -- a pointer for saving prime numbers // Output : return the counts of prime number //------------------------------------------------------------------------// int GetPrimeNumber(const int Num, int *primeNum) { int number = Num; int n = 0; int flag = 1; if (number < 0) number = -number;
for (int i=3; i<number; i++) { int temp = (int)sqrt(i+1); for (int j=2; j<=temp; j++) { if (i%j == 0) { flag = 0; break; } }
if (flag) { primeNum[n] = i; //cout << primeNum[n] << " "; n++; } flag = 1; }
return n; }
----------------解决方案--------------------------------------------------------
问题一:草率的写了一下,可以运行. #include<stdio.h>
void fun(int m) { int t=1; int n; if(m==0) printf("%d",0); else { while (m>0) { n=m%10; t=t*n; m=m/10; } printf("%d",t); } }
void main() { int m; printf("please input m\n"); scanf("%d",&m); fun(m); printf("\n"); getch(); }
----------------解决方案--------------------------------------------------------
好厉害
我学会了好多
----------------解决方案--------------------------------------------------------
好代码,这令我受益非浅啊
----------------解决方案--------------------------------------------------------
作业题也可以替做吗?
----------------解决方案--------------------------------------------------------
我的想法和一楼的相同~
----------------解决方案--------------------------------------------------------
呵呵,比较厉害啊
----------------解决方案--------------------------------------------------------
#include<stdio.h>
void fun(int x)
{
int a,b,c,s;
a=x/100;
b=x%100/10
c=x%100
s=a*b*c
printf("求出的结果:%d",s);
}
void main()
{
int num;
printf("请输入一个整数:",%d);
scanf("%d",&num);
fun();
}
----------------解决方案--------------------------------------------------------