當前位置:首頁 » 編程語言 » c語言rever
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言rever

發布時間: 2023-05-30 00:11:29

❶ C#求大神給我這道題的答案

usingSystem;
namespaceTest
{
classProgram
{
publicstaticvoidMain()
{
Console.Write("請輸入任意字元串:"攔緩);
stringstr=Console.ReadLine();
Console.Write("字元串倒序為:");
for(inti=str.Length-1;i>=0;i--){
簡隱模Console.Write(str[i]);
}
Console.ReadKey();
}
攜行}
}

c語言可逆素數

#include<stdio.h>
intisPrimenum(intn)
{
inti;
intflag=0;
for(i=2;i<n;i++)
if(n%i==0)
{
flag=1;
break;
}
if(flag==1)
return1;
else
return0;
}
intrever(intn)
{
inttemp=0,m=0;
do{
temp=temp*10+n%10;
n/=10;
}while(n);
printf("temp=%d ",temp);
m=isPrimenum(temp);
if(!m)
return0;
else
return1;

}
intmain()
{
intn=0,d=0,m=0;
printf("inputn:");
scanf("%d"兆悄,&n);
d=isPrimenum(n);
printf("n=%d ",n);
族殲渣m=rever(n);
if(!d&&!m)
printf("%disreverprimenum ",n);
else
printf("改慧不是 ");
return0;
}

❸ 反向輸出三位數用c語言,但不能用數學式分割法!!!

//思路:將輸入數字當字串處理,利用遞歸法反序輸豎握出字串,與數字式完全無關
#include<stdio.h>
#include<string.h>
voidrever(char*p)//利用遞歸反序輸出字串
{
if(*p!='')//未到串尾
rever(p+1);
if(*p=='')
return;
printf("%c",*p);
}
intmain()
{
chararr[10];
gets(arr);//將輸入數字當字串處理
rever(arr);//反轉輸出余姿慶
printf(" ");//結尾換行冊租

return0;
}

❹ C語言 遞歸法逆序整數 糾錯

//
#include<stdio.h>
#include<string.h>
intrever(char*p)
{
if(*p!='')//未到串尾
rever(p+1);
坦頃if(*p=='')
廳敬return;//避免多輸出一個空格
printf("%c",*p);
}
intmain()
{
chararr[100];
gets(arr);//將數字什麼全部當字串接收
rever(arr);
}

//另一種非遞歸讓伏陸方法
#include<stdio.h>
intrever(intn)
{
intk=0;
while(n)
{
k=10*k+n%10;
n=n/10;
}
returnk;
}
intmain()
{
intn;
scanf("%d",&n);
printf("%d ",rever(n));
}

❺ C語言問題,scanf和直接賦值的問題

代碼亂死了.大概看了一下.用char*來保存字元串必須得是在定義的時候給上值,如果不給,這就是一個字元指針.如果給了,那也只是給定了一個*只讀*的字元串,所以在寫代碼的時候最好不要這樣(除非有用)如果用了就要這樣寫:const char *p = "String";這樣如果改動它的內容就會報錯.
所以要用定義字元指針的方法去保存字元串,就得用malloc或new(C++)去動態申請內存空間.想知道更多的話,,,,把扣扣摞下吧,扣扣語音教.

❻ C語言高手請解釋下這段代碼的具體意思。。。。

這里的i是用來控制位數的,i從1開始,一直往左移位,直到移動到全為0為止,比如第一次00000001,第二次是00000010,最後變成00000000
演算法大概是這樣:
1.首先是從要轉換的數最低位開始,逐神清仿位與00000001相與,這樣得到的是最末一位的數, if(value&1)
2.如游纖果最末一位是1,則把answer的正尺最後一位與1相與,實現把這個1保存下來,answer|=1;
3.接下來把value右移一位,判斷下一位,同answer也要左移一位,把保存下來的值移開

最主要就是通過位移的辦法,把源數據的最後一位拿出來判斷,然後插入到新數據的末尾(新數據可以理解成最初只有一位,然後逐個插拉,直到最後寫滿八位)

❼ c語言求解

{k=*q; *q=*p; *p=k; } 這是交換 *p, *q 指向的值,k 是暫存單元,把 *q 放入k, 把 *p 放入*q,把 k 放入*p .

length=strlen(q); 原字元串在q里,用函數strlen 算出字元串長度 length。

for(p=q+lenth-1;q<p;q++,p--)
這里p q 不帶星號,表示指向地址。
一開始,q 指向地址,等於彎氏字元串首地址,就是埋讓散字元串的第一個字元。
一開始,p=q+lenth-1,意思是 p 指向 字元串最末一個字元。

循環時,q++,p--,就是每循環一次,q 地址增1,p地址減1,
這樣 q 依次指向 第1,2,3,4..個字元,
p 依次指向 從尾起,滑褲倒數 第1,倒數第2,倒數第3,倒數第4..個字元。
沒循環一次,交換一對字元,第1換倒1,第2換倒2,...

q<p 循環到 p,q, 碰頭。

循環完畢,字元串就左右對換了。

rever(str); -- 反序。

❽ 一個8比特的數,要求編寫一端C程序實現位倒序功能.

/*
今天朋友問這個問題,我網路了一下,看到你這個提問了,感覺解答都差強人意;
正好也做出來了,就順便貼出來分享。
註:我這些文字你全復制了就能運行,核心函數是Function(),核心語句看標注
*/
# include <stdio.h>

# define BITS 8 // 自定義比特數

unsigned int Function(unsigned int number); // 倒置
void PrintBit(unsigned int number); // 按位輸出,長度鎖定為BITS

int main(void)
{
unsigned int number;
unsigned int result;

printf("請輸入十進制轉化後的數字:亂橘");
scanf("%d", &number);
result = Function(number);
printf("結數掘果是:");
PrintBit(result);
putchar('\n');
}

unsigned int Function(unsigned int number) // 倒置
{
unsigned int i;
unsigned int result; // 保存結果

if(!number) // 全為0時需特殊處理
return 0;

for(i=0,result=0; i<BITS; ++i) // (核心語句)
{
result = result*2 + ((number>>(i))%2); // 倒序按位取數,同時依次裝入結果,每裝入一個新數字時原結果數乘2,實現正序填裝 ;右移是消去右邊的多餘位,取余是消除左邊的多餘位
}

return result;
}

void PrintBit(unsigned int number) // 按位輸出,長度鎖定為BITS
{
unsigned int i;

for(i=BITS; i>0; --i)
{
printf("%d", (number>>(i-1))%2);
}
}

/*
時間:2016年10月30日15:43
平台:win7(64位)--cfree
測試結果:
輸入 輸出
0 00000000
1 10000000
2 01000000
3 11000000
174 01110101
255 11111111

註:暫薯陪核不考慮輸入超過255的情況。
*/

❾ c語言的問題字元串反轉

rever()函數修改如下:

char *rever(char *dest,const char *src)
{
int n = strlen(src)-1;
for (dest += n,*(dest+1)=0;n>=0;dest--,n--)
*dest=*src++;
return dest+1;
}

❿ C語言高手請解釋下這段代碼的具體意思。。。

value是unsigned
int型,
故定義unsigned
int
i,i的作用是控制value的每一位都能變換,也就是value有多少位,i從最低位1向左移多少位。
具體的實現:就拿你舉的悄岩坦例子00001011。
answer=0;
i=1時:answer=0,棗唯判斷value(00001011)的最低位是1,answer=answer
|
1=1,value=value>>1=00000101
i=10:answer=10,value(00000101)的最低位是1,answer=11,value=00000010
i=100,answer=110,value(00000010)的啟桐最低位是0,answer不變,value=00000001
i=1000,answer=1100,value(00000001)的最低位是1,answer=1101,value=00000000;
.
.
.
.
i=10000000,answer=11010000;
i=00000000,循環結束