① 如何用c語言解碼,要求用原來字母前面的第四個字母代替原來的字母
#include <stdio.h>
void main()
{
char c; while ((c=getchar())!='\n')
{
if ((c>='a'&&c<='z')||(c>='A'&& c<='Z')) //c為小寫字母a-z或者大寫字母A-Z
{
c=c+4; //把c變成其後面的第4個字母
if(c>'Z'&&c<='Z'+4||c>'z') //若c為小寫字母時若大於z即-26,若c為大寫時大於Z並且c同時小於等於Z+4
{
c=c-26;
}
}
printf("%c",c);
} printf("\n");
}
② c語言 簡單解碼
ch1=(char) (ch1+3);
ch2=(char) (ch2+3);
強制類型轉換要括起來。
這個其實不用類型轉換的。 int 和 char 可以混合使用。
按你那樣寫就成了 一個 char()函數了。
③ 編寫一個字元解碼程序
char str[] = "program";
if(strlen(str) > 6)
{
for(int i;i <= strlen(str) - 1 - 6;i++)
{
str[i]=str[i+6];
}
}
④ 單片機做一個解碼器,使用C語言,的程序問題。程序如下,希望各位高手能幫忙看看
太復雜,沒興趣看。你這樣問不會有結果的。
給你點建議:
1)串口收發程序先調通。
2)將串口收到的,都原封不動的傳回電腦。
3)增加解碼函數,將解碼的結果通過串口傳回電腦。
4)控制P0.0口輸出指定長度的高、低電平(要用到計時器)。
5)3和4都正確的情況下,自然就可以合並起來用了。
⑤ 赫夫曼編/解碼 C語言程序
HC
=
(HuffmanCode)malloc((n+1)*sizeof(char
*));
p
=
m;
cdlen
=
0;
for(i=1;i<=m;++i)
HT[i].weight
=
0;//遍歷哈夫曼樹時用作結點狀態標志
while(p){
if(HT[p].weight
==
0){
//向左
HT[p].weight
=1;
if(HT[p].lchild!=0){
p=HT[p]lchild;
cd[cdlen++]="0";
}
else
if(HT[p].rchild
==
0){
//登記葉子結點的字元的編碼
HC[p]
=
(char
*)malloc((cdlen+1)*sizeof(char));
cd[cdlen]
=
"\0";
strcpy(HC[p].cd);
//復制編碼(串)
}
}
else
if
(HT[p].weight
==
1){
//向右
HT[p].weight
=2;
if(HT[p].rchild
!=0){
p
=
HT[p].rchild;
cd[cdlen++]
=
"1";
}
}else{
//HT[p].weight
==
2,退回
HT[p].weight
=
0;
p=
HT[p].parent;
--cdlen;
//退到父結點,編碼長
度減1
}//else
}//While
⑥ 請用C語言編寫一個解碼函數,把一個英語句子譯成數字代碼。解碼規則
#include <stdio.h>
int main ()
{
char c;
while ((c = getchar()) != '\n')
{
if(c==' ')
{
printf("*");
continue;
}
c-=64;
if (c!=-32)
printf ("%d ",c);
}
printf (".");
return 0;
}
試試看符不符合你的要求
⑦ 請用C語言編寫一個解碼函數,把一個英語句子譯成數字代碼。解碼規則是
#include<stdio.h>
intmain()
{
charc;
while((c=getchar())!=' ')
{
if(c=='')
printf("*");
else
{
if(c>=97&&c<=122)
printf("%d",c-=96);
else
{
if(c>=65&&c<=90)
printf("%d",c-=38);
else
printf("%c",c);
}
}
}
return0;
}
⑧ C語言解碼程序
因為你 你輸入的 china 是存在一個緩沖池中, 你調用getchar()他是不斷的從緩沖池中去讀取數據, 第一次 讀取c 然後執行 第二次 讀取h 然後執行 以此類推 , 所以china就會啊~~
⑨ 請用C語言編寫一個解碼函數
稍等。。。
如果是abc.這個解碼是123還是123?