#include?stdio.h
成都創新互聯主營寶興網站建設的網絡公司,主營網站建設方案,成都app軟件開發公司,寶興h5微信平臺小程序開發搭建,寶興網站營銷推廣歡迎寶興等地區企業咨詢
#include?stdlib.h
#include?string.h
void?check(int*?Hui)//這個函數用來檢測是否是5位數
{
int?i;
int?count=0;//計數變量
char?lenth[10];
for(i=0;istrlen(itoa(*Hui,lenth,10));i++){
count++;
}//這里for循環可以換成count=strlen(itoa(*Hui,lenth,10))
printf("這是%d位數",count);
if(count==5){
puts("go?on..");
}
else{
puts("your?input?is?error!");
exit(0);
}
}
int?main()
{
int*?Huiwenshu=NULL; //也可以用int?Huiwenshu[6];,推薦前一種
int?Last_digit;//末位數字
int?First_digit;//首位數字
int?Thou_digit;//千位數字
int?Ten_digit;//十位數字
Huiwenshu=(int*)malloc(sizeof(int*));//申請int*大小的連續空間
puts("請輸入一個5位數:");
scanf("%d",*Huiwenshu);//獲取5位數
check(Huiwenshu);//將5位數導入檢查函數
/*將5位數分解,涉及"%"取余數的技巧*/
Last_digit=*Huiwenshu%10;//取末位
Ten_digit=((*Huiwenshu%100-(Last_digit))/10);//取十位
Thou_digit=((*Huiwenshu%10000-(*Huiwenshu%1000))/1000);//取千位
First_digit=((*Huiwenshu%100000-(*Huiwenshu%10000))/10000);//取首位
if(Last_digit==First_digit){ //判斷回文數
if(Ten_digit==Thou_digit){
printf("%d是回文數!",*Huiwenshu);
}
else{
printf("%d不是回文數!",*Huiwenshu);
return?0;
}
}
else{
}
free(Huiwenshu);//釋放內存
return?0;
}
代碼里的注釋很清晰,如果不懂再問噢。其實還有另一種方法,就是直接定義一個int型數組,然后通過取對應的位數進行比較,然后得出結果,不過這種方法通用性較低,但是也行。
這是C語言中的指令。
是無條件跳轉到指定的標號位置開始執行程序。
這個指令用起來要慎重,它容易讓你的程序變得可讀性比較差,日后維護和調試都不方便。
但是有時用一下會顯得十分方便。
曾經有建議可以使用大量的這樣的語句來對程序驚醒反編譯的加密。
ifstream infile("1.txt");
while(1)
if(infile.get()=='\n')/跳過第一行
break;
while(1)
{
//go on
}
/*goto?可以調到指定位置處執行新的程序,經常用來從多重循環內跳出來。
如下程序所示:
*/
#includestdio.h
#includestdlib.h
#includememory.h
int?main()
{
int?i,j;
int?a[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i3;i++){
for(j=0;j3;j++){
if(a[i][j]?==?6)
{
goto?Find;
}
}
}
Find:
printf("%d?%d\n",i,j);
getchar();
return?0;
}
歡迎采納,如有不明白的,可以追問^_^
^_^
^_^
如果有電路原理圖就更好分析了。。。
org 0000h
ajmp main ; ;上電自動轉向主程序
org 0003h ;【外部中斷0入口 】
ajmp start ; ;轉向start 子程序
org 000bh ;【定時器T0中斷入口】
ajmp time ; 轉向time子程序
org 0030h ; ;主程序首地址
main: mov tmod,#1; 0000 0001 置T/C 1為【方式0】,計數 ;【置T/C 0為方式1,定時】
mov th0,#0b1h; ;送T/C 0定時初值
mov tl0,#0e0h
mov ie, #83h ; ;設置中斷
setb tr0 ;【啟動T0】
mov r3,#0
mov r4,#0
mov 30h,#0; ;顯示秒表的個位LED數碼管清零
mov 31h,#0; ;顯示秒表的十位LED數碼管清零
mov 32h,#0; ;顯示選手號的LED數碼管清零
disp: mov sp,5fh
mov a,#03h ; 0000 0011 ;對8155初始化,A口、B口輸出,C口輸入
mov dptr,#0ff20h ;【控制口的地址】
movx @dptr,a ;【寫8155控制字】
loop: mov r5,#1 ; ;置字位碼初值
mov r0,#30h ; ;置顯示緩沖區指針初值
mov a,r5
loop1: mov dptr,#0ff21h ; ;字位碼送8155 A口
movx @dptr,a ;把a的值送到A口
mov dptr,#0ff22h ;8155 B口
mov a,@r0
add a,#0eh ;【a=0FH 0eH=14=1+2+1+1+3+1+1+2+2 (跳過14個字節)】
movc a,@a+pc ; ;查字位碼表
movx @dptr,a ; ;字形碼送8155 B口 【(本指令占1個字節)】
acall dlay ; ;延時1MS 【(本指令占2個字節)】
inc r0 ; 【(本指令占1個字節)】
mov a,r5 ; 【(本指令占1個字節)】
jb acc.2,ld ; 【(本指令占3個字節)】
rl a ; 【(本指令占1個字節)】
mov r5,a ; 【(本指令占1個字節)】
ajmp loop1 ; 【(本指令占2個字節)】
ld: sjmp loop ; ;周而復始 ; 【(本指令占2個字節)】
table:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,0c8h ; 共陽 字形碼表
;【 0 1 2 3 4 5 6 7 8 9 0】
dlay: mov r7,#02h ; ;延時子程序,【大約延時2*255+2*2+2*2us=518us】
dl1: mov r6,#0ffh
dl2: djnz r6,dl2
djnz r7,dl1
ret ; ;【子程序返回】而非【中斷返回】,兩者不一樣
time: mov th0,#0b1h ; ;重新裝入計數初值
mov tl0,#0e0h
push psw ; ;保護現場
push acc
mov a,#0fh
orl p1,a ;【p1口低四位輸出高電平】
mov a,p1 ;【讀P1口】
anl a,#0fh ;【屏蔽高四位】
cjne a,#0,go_on ;【A低四位不為零就轉移到go_on】
inc r3 ;
cjne r3,#25,back ;【r3不等于25就轉移到back,即直接返回】
mov r3,#0 ;【如果r3等于25了,就把r3的值清零】
inc r4
mov a,r4
mov b,#10
div ab ;【r4除以10,以分離出個位和十位。個位(余數)放在b,十位(商)放在a】
mov 31h,a
mov 30h,b
cjne r4,#20,back ; 判斷是否到20秒
cpl p1.7 ; ;到20秒紅燈亮警告
mov 32h,#10
clr tr0 ; ;停止T/C 0計時
sjmp back
go_on: clr tr0
jnb acc.0,two ; ;判斷是不是一號選手按鍵,若不是,轉向二號
mov 32h,#01h ; ;LED顯示1
sjmp back
two: jnb acc.1,three ; ;判斷是不是二號選手按鍵,若不是,轉向三號
mov 32h,#02h; ;LED顯示2
sjmp back
three: jnb acc.2,four ; ;判斷是不是三號選手按鍵,若不是,轉向四號
mov 32h,#03h ; ;LED顯示3
sjmp back
four: mov 32h,#04h ; ;LED顯示4
back: pop acc
pop psw
reti ; ;中斷返回
start: setb tr0
reti ; ;中斷返回
end
標題名稱:c語言go_on C語言編譯器
本文網址:http://m.newbst.com/article22/hihjjc.html
成都網站建設公司_創新互聯,為您提供品牌網站建設、面包屑導航、搜索引擎優化、網站導航、外貿網站建設、企業網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯