1、,&a); b = a/1000; c = a%1000/100; d = a%100/10; e = a%10; a = e*1000+d*100+c*10+b;,a); -23.有关输入输出问题。输入为:12a b 运行结果为:1,2,a,b,123.300000,65535请改正程序中的错误,使它能得出正确的结果。#include #define ARR_SIZE = 80;char strARR_SIZE;int len, i; letter=0,digit=0,space=0,other=0;请输入一个字符串:gets(str);len = strlen(str);for (i=0;
2、 ilen; i+)if (a=stri=z | A=Z)letter +;else if (0=9) digit +;else if (stri= )space +;elseother +;英文字符数:%dn, letter);数字字符数:, digit);空格数:, space);其他字符数:, other);答案 :#define ARR_SIZE 80 letter = 0, digit = 0, space = 0, other = 0;for (i = 0;if (a = stri&stri = z | AZ)letter+;else if (0= stri & stri1)for
3、(i = 2;ia;i+)if(a%i=0)return 0;continue;return 1;int b,c;b);c = Fun(b);if(0 = c),b);参考答案:#include stdio.hint Fun(int m);int main()int m, flag;dom); /1while (m 2); /e1flag = Fun(m); /3if (flag) /1, m);int Fun(int m)/2int i, flag = 1;for (i = 2; i m; i+) /1if (m % i = 0) /1flag = 0;break;return flag;/
4、2 - -56.求1898 现將不超过2000的所有素数从小到大排成第一行,第二行上的每个数都等于它“右肩”上的素数与“左肩”上的素数之差。请编程求出:第二行数中是否存在这样的若干个连续的整数,它们的和恰好是1898?假如存在的话,又有几种这样的情况?提示信息:There are follwing primes in first row :(%d).%3d,.,%dn(1).101,.,1999(2). 89,.,1987(3). 53,.,1951(4). 3,.,1901#define N 330int aN; int c = 0, b = 0, d = 1; int i = 0, j =
5、 0, k = 0; for (i = 3;i = 2000; for (j = 2;j = 0;c-) for (b = c + 1;c b;b+) if (b 330) if (ab - ac) = 1898) printf(, d, ac, ab); d+; else continue; 7.从键盘任意输入一个整数m,若m不是素数,则对m进行质因数分解,并将m表示为质因数从小到大顺序排列的乘积形式输出,否则输出It is a prime number例如,用户输入90时,程序输出90 = 2 * 3 * 3 * 5;用户输入17时,程序输出输入提示信息:Input m:输入格式:输出格式
6、:是素数时输出It is a prime numbern否则输出用%d = ,%d * 运行示例1:9090 = 2 * 3 * 3 * 5运行示例2:13It is a prime numberint IsPrime(int x);void OutputPrimeFactor(int x);int m;if(IsPrime(m),m);OutputPrimeFactor(m);int IsPrime(int x)int i,flag=1;int squareRoot=sqrt(x);if(x int a; char b32;, a);%sn, itoa(a, b, 2);-89.求自然数n最
7、近的素数k, kn。*输入提示信息*:Input n:*输入数据格式*:*输出数据格式*:示例输入:257输出:Please input n:263 int n, i = 1, k;n); for (k = n + 1;i;k+) for (i = 2; k; if (k%i = 0) break; else continue; if (i = k), k); i = 0;-910.如果一个正整数m的所有小于m的不同因子(包括1)加起来正好等于m本身,那么就被称它为完全数。它是指这样的一些特殊的自然数,它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。注意:1没有真因子,所以不是完全
8、数。例如,6就是一个完全数,是因为6 = 1 + 2 + 3。请编写一个判断完全数的函数IsPerfect(),然后判断从键盘输入的整数是否是完全数。要求:按如下原型编写判断完全数的函数,若函数返回0,则代表不是完全数,若返回1,则代表是完全数。int IsPerfect(int x);*要求输出格式为 %d is a perfect numbern%d is not a perfect numbern注:不能使用指针、结构体、共用体、文件、goto、枚举类型进行编程,主函数不能使用int main和return 0。 int m; if (IsPerfect(m)int IsPerfect(
9、int x) int i = 1,b = 0; for (i = 1; x; if (x%i = 0) b = b + i; if (b = x) return 1;-1011.用函数编程计算两整数的最大值,在主函数中调用该函数计算并输出从键盘任意输入的两整数的最大值。%d,%dInput a,b:max = %dn5,8max = 8int max(int a, int b) if(a = b) return a; return b; int a = 0,b = 0;a,&,max(a,b);-1112.利用求阶乘函数Fact(),编程计算并输出1! + 2! + + n!的值。%uInpu
10、t n(n0):sum = %lunint sum_s(int i); unsigned int n = 0; unsigned long b = 0; for (b;n;n-) b = b +sum_s(n);int sum_s(int i) for(a = 1;i-) if (i 1) a = a * i; a = a * 1;-1213.编程输出如下菜单界面(具体的输出则以下面提示中要求的输出格式为准):=大学信息管理系统= - 办公室管理 财务管理 教务管理 图书管理 科研管理 设备管理 人事管理 后勤管理 退出系统请您在上述功能中选择(08):提示:输出如下格式=大学信息管理系统= n-n1. 办公室管理 5. 财务管理 n2. 教务管理 6. 图书管理 n3. 科研管理 7. 设备管理 n4. 人事管理 8. 后勤管理 n0. 退出系统n
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1