c语言经典编程题编程题

C语言中关于函数的简单编程题
1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,
输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表。
#include &stdio.h&
int chengfa(int n,int i,int j,int k)
scanf(&%d&,&n);
for(i=1;i&=n;i++)
for(j=1;j&=i;j++)
printf(&%dx%d=%2d
printf(&\n&);
int main()
int a=0,b=0,c=0,d=0;
chengfa(a,b,c,d);
system(&pause&);
2.使用函数实现两个数的交换。
#include&stdio.h&
int swap(int *p1,int *p2)
int main()
swap(&a ,&b);
printf(&a=%d\nb=%d\n&,a,b);
system(&pause&);
3.实现一个函数判断year是不是润年。
#include&stdio.h&
int year(int n)
scanf(&%d&,&n);
if((n%4==0)&&(n%100!=0)||(n%400==0))
printf(&%d是闰年!&,n);
printf(&%d不是闰年!&,n);
int main()
system(&pause&);一、递归求一个数的阶乘:
int factorial(int n)
while (n & 1)
return n*func(n-1);
当然也可以不用while循环,因为都是n级运算,算法复杂度都为O(n),所以影响不大。
int factorial(int n)
if(n == 0)
return n*func(n-1);
二、输入一个整数(任意位数),倒叙输出:
因为要把一个整数颠倒过来。所以得把从低位到高位的顺序分别打印出来,然后乘以相应的倍数,最后相加即可。
#include &stdio.h&
int getLen(int num)
int flags = 0;
for ( num &0 ; num/=10)
int getIndex(int len)
int res = 1;
for (i = 0; i & i++)
res=res*10;
int main()
int num,temp,LastN
printf("please input a num:\n");
scanf("%d",&num);
int len = getLen(num);
for(i = 0; i& i++)
temp=num%10;
num=num/10;
LastNum+=temp*getIndex(len-i-1);
printf("the resault=%d\n",LastNum);
三、将一个数组逆序放到原来数组中。(考虑复杂度)
算法一:相当于把数组对应位置前后调换,只需要n/2次。
for (i = 0;i & n/2;i++)
t = arr[i];
arr[i] = arr[n-1-i];
arr[n-1-i] =
for (i = 0;i &i++)
b[i] = a[n-i-1];
for (i = 0;i &i++)
a[i]=b[i];
算法一借助辅助空间t
,而算法二借助辅助空间为 b[n]。所以空间复杂度来说,算法一空间复杂度为O(1),算法二空间复杂度为O(n)。
四、斐波那契数列:
Fib(0) = 0
Fib(1) = 1
Fib(n) = Fib(n-1) + Fib(n-2)
F() = 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 …
int Fibonacci(int n)
if (n &= 1)
return Fibonacci(n - 1) + Fibonacci(n - 2);
这里,给定规模 n,计算 Fib(n) 所需的时间为计算 Fib(n-1) 的时间和计算 Fib(n-2) 的时间的和。
T(n&=1) = O(1)
T(n) = T(n-1) + T(n-2) + O(1)
通过使用递归树的结构描述可知算法复杂度为 O(2n)。
int Fibonacci(int n)
if (n &= 1)
int[] f = new int[n + 1];
for (int i = 2; i &= i++)
f[i] = f[i - 1] + f[i - 2];
return f[n];
不使用递归:(复杂度降为O(n))
int Fibonacci(int n)
if (n &= 1)
int iter1 = 0;
int iter2 = 1;
int f = 0;
for (int i = 2; i &= i++)
f = iter1 + iter2;
iter1 = iter2;
五、判断是大端还是小端字节序:
方法一(使用联合体):
这里用到了联合体:联合体内成员共享内存,所以所有成员首地址相同。
所以可以通过对较长的成员赋值,通过判断另个一个成员变量的值来判断存放的是高位字节还是低位。
unsigned short
A.s = 0x1234;
if(A.c == 0x12)
printf("It's MSB");
printf("It's LSB");
方法二:(不使用联合)
unsigned int a = 0x;
unsigned char i = (unsigned char)a;
if (i == 0x12)
printf("MSB");
printf("LSB");
六、桶排序:对公司员工年龄进行排序(存在年龄相同情况)
这里用的是桶排序的思想。桶排序虽然速度快,算法简单,但是因为要借助辅助空间,浪费空间,只适合对较少的数据排序。
#include &stdio.h&
void sortage(int arr[],int len)
if (arr == NULL || len &= 0)
const int oldestAge = 99;
int timeofAge[oldestAge+1];
for(i = 0;i &= oldestAi++)
timeofAge[i] = 0;
for (i = 0;i &i++)
int age = arr[i];
if(age & 0 || age & oldestAge )
printf("age is not in the range");
timeofAge[age]++;
int index=0;
for (i = 0;i &= oldestAi++)
for (j = 0;j & timeofAge[i];j++)
arr[index] =
void main()
int arr[7]={22,18,23,22,50,34,19};
sortage(arr,7);
for(i = 0;i & 7;i++)
printf("%d ",arr[i]);
七、字符串移动:
编写一个函数,作用是把一个char组成的字符串循环右移n个。比如原来是“abcdefghi”如果n=2,移位后应该是“hiabcdefgh” 函数头是这样的:
//pStr是指向以’\0’结尾的字符串的指针
//steps是要求移动的n
void LoopMove ( char * pStr, int steps )
//请填充…
正确答案:
解析:都是用临时变量来存储,然后通过指针指向来实现改变。解答2更直观。
正确解答1:
void LoopMove ( char *pStr, int steps )
int n = strlen( pStr ) -
char tmp[MAX_LEN];
strcpy ( tmp, pStr + n );
strcpy ( tmp + steps, pStr);
*( tmp + strlen ( pStr ) ) = '\0';
strcpy( pStr, tmp );
正确解答2:
void LoopMove ( char *pStr, int steps )
int n = strlen( pStr ) -
char tmp[MAX_LEN];
memcpy( tmp, pStr + n, steps );
memcpy(pStr + steps, pStr, n );
memcpy(pStr, tmp, steps );
八 、计算最后一个单词的长度
思想:这里采用逆向思维,把字符串从后往前数,依次对每个字符判断是否为空,定义一个变量计数。
#include&iostream&
#include&string&
using namespace std;
int main()
while(getline(cin,s))
int n=0,flag=1;
for(int i = s.length()-1; i &= 0;--i)
if(flag && s[i]==' ')
else if(s[i]!=' ')
cout && n &&
九、联发科2017笔试题:
删除一个字符串中指定的所有某个字符。
思想:找到某字符后把后面的字符串依次往前移动。算法复杂度为O(n^2)。
void dele_char(char *str,char s)
char *p = str;
char *temp=NULL;
while ( *p != '\0' )
if (*p == s)
while (*p != '\0' )
*p = *(p+1);
p = temp-1;
思想:上面方法复杂度是O(n^2),下面用更简单的算法复杂度来实现。这里思想是直接对该字符不予理踩,对不相等的部分重新赋值。
void dele_char(char *str,char s)
int i = 0;
int j = 0;
for (i = 0; i & strlen(a); i++)
if (a[i] != 'f')
a[j] = a[i];
a[j] = '\0';
十、用一个表达式判断一个整数是否在某两个整数之间
判断b在a~c之间
static inline int between(__u32 a, __u32 b, __u32 c)
return c - a &= b - a
杰发科技2015改错题:
把一个字符串s拷贝到t中,并且把倒叙的字符串s接到t后面。
输入:abc.
打印:abccba
#include &stdio.h&
#include &stdlib.h&
#include &string.h&
void inv_cat(char *s,char *t)
len = strlen(s);
for (i=0; i& i++)
t[i] = s[i];
for (i=0; i& i++)
t[len+i] = s[len-1-i];
t[2*len] = '\0';
int main()
char s[100];
char *t =(char *)malloc(sizeof(char));
printf("\nPlease enter string s:\n");
scanf("%s",&s);
inv_cat(s,t);
printf("The result is : %s",t);
持续更新中。。。。
经典程序题目
1:数组全排列:#include &stdio.h&
#include &iterator&
#include &iostre...
C语言经典算法100例(一)
C语言中有有许多经典的算法,这些算法都是许多人的智慧结晶,也是编程中常用的算法,这里面包含了众多算法思想,掌握这些算法,对于学习更高级的、更难的算法都会有很大的帮助,会为自己的算法学习打下坚实的基础。...
C语言必背18个经典程序
C语言必背18个经典程序
C语言 入门到精通100题
C 语言编程经典 100
【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的...
C语言常见编程题及答案40题
题目:判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
       则表明此数不是素数,反之是素...
&em&C语言编程&/em&基础入门100道&em&编程题&/em&,有助于新手对C语言更多地了解,更好的去理解和领会C语言的用法
*版权证明: 只允许上传png/jpeg/jpg/gif格式的图片,且小于3M
*详细原因:
交 &em&C语言编程&/em&实例100题经典版 1积分 立即下载 ...
第一部分韩信点兵相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入3个非负整数a,b,c ,表示每种队...
1.试参考本章例题编写计算梯形面积的C语言程序,梯形的上底、下底和高分别用a、b、h表示,并用a=10,b=20,h=5测试所编写的程序。
1 #include
*版权证明: 只允许上传png/jpeg/jpg/gif格式的图片,且小于3M
*详细原因:
交 &em&c语言编程&/em&经典100题 1积分 立即下载 ...
没有更多推荐了,&>&C语言编程题北京理工大学
C语言编程题北京理工大学
上传大小:138KB
C语言编程题。。北京理工大学大一C语言平时作业。。递归、链表、打印图形
综合评分:5
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有1条
还不错的资源
songman1984
综合评分:
积分/C币:1
VIP会员动态
热门资源标签
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
C语言编程题北京理工大学
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
twinklerock
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*投诉人姓名:
*投诉人联系方式:
*版权证明:
*详细原因:
C语言编程题北京理工大学2424小时内答疑
课时永久观看
退15分钟内无条件退款
仅限付费视频课程适用
购买后15分钟内可以找到客服进行沟通退款
退款将返还至51CTO学院账户,不支持提现
下载资料后不再享有退款特权
客服(Tel:400-101-1651)
最终解释权归51CTO学院所有
听APP缓存听课
倍PC倍速播放
专属资料下载
加入购物车
让零基础的学员得到质的提升,让徘徊在编程之道门外的学生朋友冲破藩篱,全面细致且到位地掌握标准C语言和GMU扩展语法,无障碍阅读任何C语言源码。
C语言初学者,嵌入式开发初学者,C/C++初学者。
手把手详细带你安装系统,搭建编程环境,并写出第一个C语言程序
通过Linus Torvalds详细讲解Linux下的通用编程规范,详细了解Linux环境下的各种常见名词,示例演示gcc编译器的具体用法
详细介绍了C语言中的整型数据的内部表示细节,讨论了取值范围、负数补码等内容,详细解释了字符型变量的用途
详细介绍C语言浮点储存细节,详细剖析所谓浮点最小可辨识精度的问题,探讨了C语言的布尔类型数据,详细解释了可移植性类型数据及其实现方式
详细解剖C语言中的字符串,从本质上理解字符串与字符指针、字符数组的关系。详细剖析标准I/O缓冲区对printf和scanf函数的影响,详细介绍了如何正确使用这些标准输入输出函数的细节。
介绍了各种格式化I/O函数,以及C语言中最基本的各类运算符
详细介绍C语言中最基本的各类运算符,详细剖析位运算符的细节和适用场合
详细剖析程序控制流,包括循环控制、分支控制和多路分支,详细分析goto语句的用法和要注意的地方
从编译器的角度正确理解C语言中数组的定义,详细剖析数组的各种基本基础语法
介绍了变长数组(VLA)的基本原理,柔性数组(零长数组)的实现细节,以及字符数组的各种特殊特性,另外还介绍了GNU扩展语法
从零开始讲解了地址的概念,从地址引出指针,详细剖析指针的基本用法和各类指针定义
详细剖析指针运算,void指针,空指针(NULL)和多级指针
详细解剖了数组与指针的运算关系,从编译器的角度理解多维数组
从时空角度,详细剖析各种标识符的作用区域、生存时间
详细介绍了const关键字,以及const型指针的两种变形。 详细剖析了main函数参数的来龙去脉。
从程序编译,到进程运行,详细剖析程序运行时内存中的各种数据是怎么来的,以及分布在哪里,以及各个部分的内存都有什么特性。
详细剖析C语言中静态数据和静态函数的概念,static关键字的三种作用,介绍了extern关键字如何声明变量和函数,以及详细讲解了内存管理的所有细节。
详细剖析C语言中函数的概念,用实例代码讲解函数的三要素
形参与实参+函数调用过程详细剖析
数组形参详细剖析+函数的类型+函数指针
变参函数实现机理
static函数+inline函数+回调函数
递归的基本概念+递归函数+递归算法应用实例
复杂声明+typedef+signal函数实例剖析
复合数据类型基本概念+结构体入门+结构体基本语法
联合体基本语法+枚举的概念和使用+地址对齐的基本概念
结构体的尺寸和成员布局+attribute机制入门
简单宏定义+带参宏定义+复杂宏定义
条件编译+C语言工程文件组织+头文件编写规范
30 课程总结+习题讲解
深入浅出C语言(配套习题一)
深入浅出C语言(配套习题三)
深入浅出C语言(配套习题二)
深入浅出C语言(配套习题四)
深入浅出C语言(配套习题五)
深入浅出C语言(配套习题六)
暂时还没有学习资料~
好于0%的课程
课程与描述相符 5 非常满意
老师的讲解表达 5 非常满意
老师的答疑服务 5 非常满意
你可能还感兴趣的课程
嵌入式金牌讲师,粤嵌教育集团教学部主管
官方交流群
51CTO学院C++交流群()
60068人学习过
7日学霸榜 有60068人与你一起学习
加入购物车
综合评价在4颗星及以上最高可获得35分奖励
课程与描述相符
老师的讲解表达
老师的答疑服务
Copyright (C)
下载Android客户端
下载iphone 客户端

我要回帖

更多关于 大一c语言编程题 的文章

 

随机推荐