当前位置:首页 > c语言竞赛题目精选
将编程计算出的最大子段和输出到文件num.out。
5. 输入输出文件样例:
num.in 9 3 4 -3 -6 8 -3 4 -2 -3 题目三:(9分)
num.out 9 1. 问题描述
实现将N进制到M进制数的转换(1 < N,M <= 36)。对于11到36进制数,其基数使用从A到Z的英文字母(全部为大写)代替。例如对于11进制,其基数10(十进制)使用\表示;对于36进制,其基数35(十进制)使用\表示。被转换的数全部为正数且小于2147483647(long型的最大值)。下表为十进制数100对应的各进制数: 进制 10 11 16 27 35 数值 100 91 64 3J 2U
2. 要求:
(1). 实现10进制数到M进制数的转换。
(2). 程序具有较强的容错能力(例如对错误的输入数字串的处理)。 (3). N进制到M进制数(1 < N,M < 36)的转换(扩展要求,选做)。
3. 输入:
输入文件名为convert.in,文件内容格式为第一列为被转换数的进制数,第二列为被转换数, 第三列为转换后的进制。这三列内容均为字符串形式。每列之间使用一个空格隔开。
4. 输出:
输出文件名为convert.out,文件内容为转换后的数。对于一切错误,则输出“error”字符串。
5. 输入输出文件样例:
样例1 convert.in 10 100 27 样例2 convert.in 3 140 27 题目四:(9分)
convert.out 3J convert.out error 1. 问题描述:
大于1 的正整数n可以分解为:n=x1*x2*…*xm。例如,当n=12 时,共有8 种不同的分解式: 12=12; 12=6*2; 12=4*3; 12=3*4; 12=3*2*2; 12=2*6; 12=2*3*2; 12=2*2*3。
2. 要求: 对于给定的正整数n,编程计算n共有多少种不同的分解式。 3. 输入:文件count.in给出输入数据。第一行有1 个正整数n (1≤n≤
2000000000)。
4. 输出:
将计算出的不同的分解式数输出到文件count.out。
5. 输入输出文件样例:
count.in 12 count.out 8
****************************************************************************
1、将一整数逆序后放入一数组中(要求递归实现) void convert(int *result, int n) { if(n>=10)
convert(result+1, n/10); *result = n; }
3、递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
int find(char *str, int n) { if(n<=1) return 1;
else if(str[0]==str[n-1]) return find(str+1, n-2); else return 0; }
组合问题(从M个不同字符中任取N个字符的所有组合) void find(char *source, char *result, int n) { if(n==1) { while(*source)
printf(\ } else { int i, j;
for(i=0; source[i] != 0; i++); for(j=0; result[j] != 0; j++); for(; i>=n; i--) { result[j] = *source++; result[j+1] = '\\0'; find(source, result, n-1); } } }
5、分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题) void prim(int m, int n) { if(m>n) {
while(m%n != 0) n++; m /= n;
prim(m, n); printf(\ } }
9、有4种面值的邮票很多枚,这4种邮票面值分别1, 4, 12, 21,现从多张中最多任取5张进行组合,求取出这些邮票的最大连续组合值。(据说是华为2003年校园招聘笔试题) #define N 5 #define M 5
int k, Found, Flag[N];
int Stamp[M] = {0, 1, 4, 12, 21};
// 在剩余张数n中组合出面值和Value int Combine(int n, int Value) { if(n >= 0 && Value == 0) { Found = 1; int Sum = 0;
for(int i=0; i printf(\ } printf(\ }else for(int i=1; i
共分享92篇相关文档