⑴ 输入的5个字符,以相反顺序打印出来
顺着走一下就明白了.
palin(5) 是这样执行的:
1. if 5<=1 不成立, 转else 读取字符到 next中,执行 palin(4), 等待 palin(4) 的返回.
2. palin(4): if 4<=1 不成立,转else 读字符到next中,执行 palin(3)并等待返回.
3. palin(3): if 3<=1 不成立,转else 读字符到next中,执行 palin(2)并等待返回.
4. palin(2): if 2<=1 不成立,转else 读字符到next中,执行 palin(1)并等待返回.
5. palin(1): if 1<=1 成立, 读字符到next中,打出回车,及执行 putchar(next) 打出读到的字符. 返回.
6. 第4步此时等到了palin(1)的返回,继续执行下边的 putchar(next); 打出第4步读到的next;返回.
7. 第3步此时等到了palin(2)的返回,继续执行下边的 putchar(next); 打出第3步读到的next;返回.
8. 第2步此时等到了palin(3)的返回,继续执行下边的 putchar(next); 打出第2步读到的next;返回.
9. 第1步此时等到了palin(4)的返回,继续执行下边的 putchar(next); 打出第1步读到的next;返回.
10. 主函数等到了palin(5)的返回, 继续执行至退出.
应该能明白了吧...
⑵ 一、以下程序包含三个函数:sort,print,printfil,按照要求完成题目
数组下标的方式我已经做了,并且调试通过了,我给你也写了个main函数,可以直接调试.至于指针的,跟数组下标没有多少区别,由于篇幅有点长,指针的我就不做了.其实是很类似的,比较简单,你可以模仿我的做做,如果实在做不出来的加我
#include<stdio.h>
main()
{
void qiu(int a[], int n, int *max, int *min, float *avg, float *sum);
void (int a[], int n);
void shengxu(int a[], int n);
void charu(int a[], int n, int m);
void shanchu(int a[], int n, int m);
int i, max, min, num;
float avg, sum;
int array[5];
printf("qing shu ru 5 ge shu : ");
for(i=0;i<5;i++)scanf("%d",&array[i]);
max = min = avg = sum = 0;
qiu(array, 5, &max, &min, &avg, &sum);
printf("max=%d,min=%d,avg=%f,sum=%f\n",max, min, avg, sum);
(array, 5);
printf(" hou shu zu wei :");
for(i=0;i<5;i++)printf("%3d",array[i]);
printf("\n");
shengxu(array, 5);
printf("shengxu hou shu zu wei :");
for(i=0;i<5;i++)printf("%3d",array[i]);
printf("\n");
printf("please input a number to insert:");
scanf("%d",&num);
charu(array, 5, num);
printf("cha ru zhe ge shu hou shu zu wei : \n");
for(i=0;i<6;i++)printf("%3d",array[i]);
printf("\n");
printf("please input a number to delete :");
scanf("%d",&num);
shanchu(array, 6, num);
printf("shan chu zhe ge shu hou shu zu wei : \n");
for(i=0;i<5;i++)printf("%3d",array[i]);
printf("\n");
}
void qiu(int a[], int n, int *max, int *min, float *avg, float *sum)
{
int i;
*max = *min = a[0];
for(i=0;i<n;i++)
{
if(a[i]>*max)*max = a[i];
if(a[i]<*min)*min = a[i];
*sum += a[i];
}
*avg = *sum/n;
}
void (int a[], int n)
{
int i,j;
int *b;
b = (int *)malloc(n*sizeof(int));
for(i=0,j=n-1;j>=0;i++,j--)
{
*(b+i) = a[j];
}
for(i=0;i<n;i++)
{
a[i] = *(b+i);
}
}
void shengxu(int a[], int n)
{
int i,j,tmp;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
}
}
}
void charu(int a[], int n, int m)
{
int i,j;
for(i=0;i<n;i++)
{
if(m<a[i])
{
for(j=n;j>i;j--)
{
a[j] = a[j-1];
}
a[i] = m;
break;
}
}
}
void shanchu(int a[], int n, int m)
{
int i,j;
for(i=0;i<n;i++)
{
if(a[i] == m)
{
for(j=i;j<n-1;j++)
{
a[j] = a[j+1];
}
break;
}
}
}
⑶ 题目⑴:编写函数实现将数组元素按从小到大的顺序排序,主函数从键盘输入10个整数存入数组,
选择排序算法用selectsort()函数实现,数组输出用displayArray()函数实现:
#include<stdio.h>
#define SIZE 10
void select(int a[],int len) //选择排序函数
{
int i,j,t;
for(i=0;i<len-1;i++)
for(j=i+1;j<len;j++)
if(a[i]>a[j])
{
t=[i];
a[i]=a[j];
a[j]=t;
}
}
void displayArray(int[],int len) //数组输出函数
{
for(int i=0;i<len;i++)
if(i!=len-1)
printf("%d\t",a[i]);
else
printf("%d\n",a[i]);
}
void main()
{
int a[SIZE],x;
for(x=0;x<10;x++) //使用for语句使从键盘输入的10个数依次赋值给数组a[]
scanf("%d",&a[x]);
printf("排序前:\n");
displayArray(a,SIZE); //调用数组数组输出函数显示排序前的情况
select(a,SIZE); //调用排序函数进行排序
printf("排序后:\n");
displayArray(a,SIZE); //调用数组输出函数显示排序后的情况
}
⑷ 用c语言编程 编写函数fun,该函数的功能是:将M行N列的二维数组中的数据,按列的顺序依次打印出来
/*用C语言编程 编写函数fun,该函数的功能是:将M行N列的二维数组中的数据,按列的顺序依次打印出来 */
#include <stdio.h>
#define M 5
#define N 5
void Fun(int iaArray[][N]);
void main()
{
int iaArray[M][N] = {
1,2,3,4,5,
6,7,8,9,10,
11,12,13,14,15,
16,17,18,19,20,
21,22,23,24,25};
Fun(iaArray);
return;
}
void Fun(int iaArray[][N])
{
int iLoop1 = 0;
int iLoop2 = 0;
for (iLoop1 = 0; iLoop1 < M; iLoop1++)
{
for (iLoop2 = 0; iLoop2 < N; iLoop2++)
{
printf("%d\n",iaArray[iLoop2][iLoop1]);
}
}
return;
}
⑸ web前端 基础 操作题
<!DOCTYPEhtml>
<html>
<head>
<metacharset="UTF-8">
<title>第一题</title>
<style>
html,body{width:100%;height:100%;}
body{position:relative;margin:0;}
button{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;width:100px;height:40px;color:#FFF;font-size:16px;font-family:"微软雅黑";border-radius:8px;background-color:#f49610;}
</style>
</head>
<body>
<formaction="">
<buttononclick="alert('你点我了~~')">点我</button>
</form>
</body>
</html>
第一题如上(保存文件为.html形式)
---------------------------------------------------------------------------
第二题如下(html部分保存文件为.html形式,JS部分保存为.js文件。两个文件放在同一个文件夹下,因为我的src路径是这样写的,你可以改)
<!DOCTYPEhtml>
<html>
<head>
<metacharset="UTF-8">
<title>第二题</title>
<scriptsrc="pulsate.js"></script>
<style>
html,body{width:100%;height:100%;}
body{position:relative;margin:0;}
button{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;width:100px;height:40px;color:#FFF;font-size:16px;font-family:"微软雅黑";border-radius:8px;background-color:#f49610;}
</style>
</head>
<body>
<formaction="">
<button>点我</button>
</form>
</body>
</html>
下面是第二题的,JS部分:
window.onload=function(){
varbtn=document.getElementsByTagName("button")[0];
btn.onclick=function(){
alert("哎呀,你又点我了~");
}
}
加油~
⑹ 题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
#include<stdio.h>
void
pt(char
*p){
if(*p!='\0'){
pt(p+1);
//先不打印,指针指向下个字符,直到最后一个字符
printf("%c",*p);//打印最后一个字符的前一个字符、的前一个字符、的前一个字符。。。
}
else
return
;//到最后一个字符,返回进行打印
}
int
main(){
char
str[50];
gets(str);
pt(str);
printf("\n");
return
0;
}
⑺ Web前端的学习顺序及内容是什么
第一阶段:
HTML CSS:HTML进阶、CSS进阶、div css布局、HTML css整站开发。
JavaScript基础:Js基础教程、js内置对象常用方法、常见DOM树操作大全、ECMAscript、DOM、BOM、定时器和焦点图。
JS基本特效:常见特效、例如:tab、导航、整页滚动、轮播图、JS制作幻灯片、弹出层、手风琴菜单、瀑布流布局、滚动事件、滚差视图。
JS高级特征:正则表达式、排序算法、递归算法、闭包、函数节流、作用域链、基于距离运动框架、面向对象基础。
JQuery:基础使用悬着器、DOM操作、特效和动画、方法链、拖拽、变形、JQueryUI组件基本使用。
第二阶段:
HTML5和移动Web开发
HTML5:HTML5新语义标签、HTML5表单、音频和视频、离线和本地存储、SVG、Web Socket、Canvas。
CSS3:CSS3新选择器、伪元素、脸色表示法、边框、阴影、background系列属性改变、Transition、动画、景深和深透、3D效果制作、Velocity.js框架、元素进场、出场策略、炫酷CSS3网页制作。
Bootstrap:响应式概念、媒体查询、响应式网站制作、删格系统、删格系统原理、Bootstrap常用模板、LESS和SASS。
移动Web开发:跨终端WEB和主流设备简介、视口、流式布局、弹性盒子、rem、移动终端JavaScript事件、手机中常见JS效果制作、Zepto.js、手机聚划算页面、手机滚屏。
第三阶段:
HTTP服务和AJAX编程
WEB服务器基础:服务器基础知识、Apache服务器和其他WEB服务器介绍、Apache服务器搭建、HTTP介绍。
PHP基础:PHP基础语法、使用PHP处理简单的GET或者POST请求。
AJAX上篇:Ajax简介和异步的概念、Ajax框架的封装、XMLHttpRequest对象详细介绍方法、兼容性处理方法、Ajax框架的封装、Ajax中缓存问题、XML介绍和使用。
AJAX下篇:JSON和JSON解析、数据绑定和模板技术、JSONP、跨域技术、图片预读取和lazy-load技术、JQuery框架中的AjaxAPI、使用Ajax实现爆布流案例额。
第四阶段:
面向对象进阶
面向对象终极篇:从内存角度到理解JS面向对象、基本类型、复杂类型、原型链、ES6中的面向对象、属性读写权限、设置器、访问器。
面向对象三大特征:继承性、多态性、封装性、接口。
设计模式:面向对象编程思维、单例模式、工厂模式、策略模式、观察者模式、模板方法模式、代理模式、装饰者模式、适配器模式、面向切面编程。
第五阶段:
封装一个属于自己的框架
框架封装基础:事件流、冒泡、捕获、事件对象、事件框架、选择框架。
框架封装中级:运动原理、单物体运动框架、多物体运动框架、运动框架面向对象封装。
框架封装高级和补充:JQuery框架雏形、可扩展性、模块化、封装属于传智自己的框架。
第六阶段:
模块化组件开发
面向组件编程:面向组件编程的方式、面向组件编程的实现原理、面向组件编程实战、基于组件化思想开发网站应用程序。
面向模块编程:AMD设计规范、CMD设计规范、RequireJS,LoadJS、淘宝的SeaJS。
第七阶段:
主流的流行框架
Web开发工作流:GIT/SVN、Yeoman脚手架、NPMer依赖管理工具、Grunt/Gulp/Webpack。
MVC/MVVM/MVW框架:Angular.js、Backbone.js、Knockout/Ember。
常用库:React.js、Vue.js、Zepto.js。
第八阶段:
HTML5原生移动应用开发
Cordova:WebApp/NativeApp/HybirdApp简介、Cordova简介、与PhoneGap之间的关系、开发环境搭建、Cordova实战(创建项目,配置,编译,调试,部署发布)。
Ionic:Ionic简介和同类对比、模板项目解析、常见组件及使用、结合Angular构建APP、常见效果(下拉刷新,上拉加载,侧滑导航,选项卡)。
React Native:React Native简介、React Native环境配置、创建项目,配置,编译,调试,部署发布、原生模块和UI组件、原生常用API。
HTML5 :HTML5 中国产业联盟、HTML5 Plus Runtime环境、HBuilder开发工具、MUI框架、H5 开发和部署。
第九阶段:
Node.js全栈开发
快速入门:Node.js发展、生态圈、Io.js、Linux/Windows/OS X环境配置、REPL环境和控制台程序、异步编程,非阻塞I/O、模块概念,模块管理工具、开发流程,调试,测试。
核心模块和对象:全局对象global,process,console,util、事件驱动,事件发射器、加密解密,路径操做。
祝你学有所成!
如果大家对于学习前端有任何不懂的可以随时来问我,我给你提供一个非常不错的前端交流学习qun:前面是一一四,中间是一八八,后面是四九三一。有问题就在里面问我,这样你可以少走很多弯路,做起来有效率,记得多跟有经验的人交流,别闭门造车。如果没有比较好的教程,也可以管我要。
⑻ C语言编程题,输入三个整数,按从大到小的顺序输出
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(){
int a,b,c,t;
printf("请输入三个整数: ");
scanf("%d,%d,%d",&a,&b,&c);
if(a<b){//完成a和b值的交换,a里面放最大值
t=a;
a=b;
b=t;
}
if(a<c){//完成a和c值的交换,a里面放最大值
t=a;
a=c;
c=t;
}
if(b<c){//完成b和c值的交换,a里面放最大值
t=b;
b=c;
c=t;
}
printf("%d %d %d ",a,b,c);
return 0;
}
运行结果:
(8)前端函数打印顺序题目扩展阅读:
return 0代表程序正常退出。return是C++预定义的语句,它提供了终止函数执行的一种方式。当return语句提供了一个值时,这个值就成为函数的返回值。
return语句用来结束循环,或返回一个函数的值。
1、return 0,说明程序正常退出,返回到主程序继续往下执行。
2、return 1,说明程序异常退出,返回主调函数来处理,继续往下执行。return 0或return 1对程序执行的顺序没有影响,只是大家习惯于使用return(0)退出子程序而已。
⑼ 在面试前端开发的时候遇到一个面试题,求解 var a =10; (function(){ console.log(a); var a=100; })
vara=10;
(function(){
console.log(a);
vara=100;
})();
结果:输出undefined
解释:
function中有var a = 100;
声明会提升到function最开头,但赋值发生在最后。
上面的代码等价于:
vara=10;
(function(){
vara;
console.log(a);
a=100;
})();
打印a的时候,a并没有在function内赋值,所以是undefined
⑽ c语言:题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来下面是答案!
函数每被调用一次,都会分配一段专门给被调函数使用的栈空间,被调函数的局部变量就在这段栈空间里分配空间,所以即便像递归调用这种主调函数和被调函数是同一函数的情况,栈里面是分别有独立的栈空间的,相应的局部变量也有独立的内存空间,所以,以这个例子来说,主调函数的局部变量n和被调函数的局部变量n是有不同的内存空间的,不会相互冲突,主调函数的n被赋值,不影响被调函数对n赋值。