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

c語言倒置代碼

發布時間: 2022-10-02 22:45:17

1. c語言如何利用指針,將數組倒置啊

#include<stdio.h>
voidfunc(int*a,intn)
{
int*p,t;
for(p=a+n-1;a<p;a++,p--)
{
t=*a;
*a=*p;
*p=t;
}
}
intmain()
{
inta[10],i;
for(i=0;i<10;++i)
{
scanf("%d",&a[i]);
}
func(a,10);
for(i=0;i<10;++i)
{
printf("%d",a[i]);
}
return0;
}

2. C語言編寫:將輸入的一個整數首尾倒置

#include<stdio.h>

#defineARRAY_LEN100/*數組長度*/

voidnumToDigit(intnum,intarr[]){/*將數字按位剝離並存儲在數組中,該演算法剝離出的每位數即是逆序排列的*/
inti,j,n;
for(i=0,n=num;n>0;i++){
arr[i]=n%10;/*除以10取余數,以取出最後一位數字*/
n=n/10;/*除以10取整數,以丟棄最後一位數字*/
arr[i+1]='';/*數組結束符號,便於後續統計位數*/
}
}

intdigitCount(intarr[]){/*統計位數*/
inti,count;
for(i=0,count=0;arr[i]!='';i++)
count++;
returncount;
}

voidprintArr(intarr[],intlen){/*列印數組*/
inti;
for(i=0;i<len;i++)
printf("%d ",arr[i]);
printf(" ");
}

intmain(void){
intnum,len,arr[ARRAY_LEN];

printf("請輸入一個正整數: ");
scanf("%d",&num);
printf("====================================================== ");

printf("每一位數字逆序輸出: ");
numToDigit(num,arr);
len=digitCount(arr);
printArr(arr,len);

return0;
}

執行結果

3. 求高手用C語言寫段代碼:將一個字元串的內容顛倒過來。急!謝謝!

以下代碼供你參考:
#include <string.h>
char *reverse(char *s)
{
char temp;
int len=strlen(s);
int i;
for(i=0;i< len/2; i++)
{
temp = *(s+i);
*(s+i) = *(s+len-i-1);
*(s+len-i-1) = temp;
}
return s;
}

4. c語言如何把數字順序顛倒

顛倒方法:

用演算法實現將一個輸入的數字顛倒(輸入12345->54321),要求不調用任何系統函數,也不能將輸入的數字轉換為字元串作為中間過渡,就可以顛倒了。

C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標准規格寫出的C語言程序可在包括類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。

C語言含義:

C語言是一門面向過程的計算機編程語言,與C++、C#、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

C語言描述問題比匯編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%-20%。因此,C語言可以編寫系統軟體。

5. C語言將一個單鏈表倒置

扣著的是頭節點(頭子)

車是首節點(首子)

馬是次節點(次子)

牙簽細的是指針指向,香頭發黑的是指向,鐵頭細的是指向。

根據步驟寫程序的偽演算法(3步4循環,7張圖片搞定),如下:


第一個循環把馬弄到車前面,

第二個循環把相弄到馬前面

第三個循環把士弄到相前面

........

直到香指向為空後停止循環。

代碼如下:只需要一個首結點pHead,就能把鏈表找到,並倒置。具體代碼如下

p香=pHead->pNext;

p鐵=p香->pNext;

p香->pNext=NULL;

P香=p鐵

while(p香 !=NULL)

{

p鐵=p香->pNext;

p香->pNext=pHead->pNext;

pHead->pNext=p香;

p香=p鐵;

}


對照偽演算法(三步四循環),和上面的代碼是一一對應的:

第一步:香頭指向首子,鐵頭指向次子

第二步:刪掉首子指向次子(鐵頭所指向的那個子)的牙簽

第三步:香頭跟著鐵頭

以下循環條件:(條件:香頭指向不為空)

{

循環1:鐵頭移動到香頭的下一個指向

循環2:香頭的下一個指向首子

循環3:頭子的下一個跟著香頭

循環4:香頭跟著鐵頭

}

自己用道具操作幾遍,然後把流程背會,以後自己根據流程寫代碼即可。

6. C語言倒置數程序設計

你好!!

#include<stdio.h>
voidd(intm);

intmain()
{
intm;
printf("input: ");
scanf("%d",&m);
printf("倒置數:");
d(m);
return0;
}
voidd(intm)
{
if(m==0)
printf("0");
else
{
charn;
while(m!=0)
{
n=m%10;
m=m/10;
printf("%d",n);
}
}
}

7. C語言字元串倒置 怎麼輸出 怎麼改

C語言字元串倒置的處理方法:

  1. 定義一個字元指針,批向字元串首地址

  2. 移動字元指針到字元串尾

  3. 當指針不是字元串首地址時,循環向前輸出每一個當前字元

參考代碼如下:

voidmain()
{
char*s="helloworld";
char*p=s;//1
while(*p)p++;//2
while(p!=s)//3
{
p--;
printf("%c",*p);
}
}

採用函數實現,方法為:

voidreverse(char*s)
{
char*p=s;//1
while(*p)p++;//2
p--;
while(p>s)
{
chart=*s;//交換位置
*s=*p;
*p=t;
p--;//p向前移動一位
s++;//s向後移動一位。當ps相遇時,完成交換
}
}
voidmain()
{
chars[]="helloworld";
reverse(s);
printf("%s ",s);
}

8. 用c語言實現數組倒置

#include <stdio.h>
void invert(int x[],int n);
void main()
{
int i,*p,a[10]={2,3,4,5,6,7,8,9,10,11};
printf("%s\n","元素倒置前:");
for(p=a;p<a+10;) printf("%d ",*(p)++);
printf("\n");
p=a;
invert(p,10);
printf("%s\n","元素倒置後:");
for(p=a;p<a+10;) printf("%d ",*(p)++);
printf("\n");
}
void invert(int x[],int n)
{
int temp,i,j,m=(n-1)/2;
for (i=0;i<=m;i++)
{
j=n-1-i;
temp=x[i];x[i]=x[j];x[j]=temp;
}
}

9. C語言,利用指針實現由鍵盤任意輸入一串字元,將此字元串倒置。

太復雜了,看不懂你想做什麼。

#include<stdio.h>
intmain()
{
charx[80],temp[80];
char*p,*q;
gets(x);
for(p=x;*p!='';p++);
for(q=temp,p--;p>=x;q++,p--)
{
*q=*p;
}
*q='';
puts(temp);
return0;
}

10. 求C語言字元串倒置寫法

這樣改就好了:
void fun(char*s)
{
int i,j=0,n;
char t[100];//t不要和s指向同一個字元串,不然後面的賦值操作有點亂套。
n=strlen(s);
for(i=n-1;i>=0;i--)//i==0的時候也要復制過去。
t[j++]=s[i];
for(i=0;i<n;i++)
s[i]=t[i];
s[++i]='\0';
}