⑴ 輸入的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賦值。