云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > c语言竞赛题目精选

c语言竞赛题目精选

  • 62 次阅读
  • 3 次下载
  • 2025/5/5 15:14:28

将编程计算出的最大子段和输出到文件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; i0; i++) if(Value-Stamp[i] >= 0) {

搜索更多关于: c语言竞赛题目精选 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

将编程计算出的最大子段和输出到文件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). 程序

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com