⑴ c語言怎麼將字元串數組元素進行逆轉
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
char str[80];
int i,j;
char ch,*p=str;
printf("輸入字元串:");
gets(str);
for(i=0,j=strlen(str)-1;i<j;i++,j--)
{
ch=*(p+i);*(p+i)=*(p+j);*(p+j)=ch;
}
printf("逆向排序後的結果是:%s\n",str);
system("pause");
return 0;
}
祝你愉快!記得採納哈!~\(≧▽≦)/~
⑵ C語言中如何實現字元串的反轉
#include<stdio.h>
#include<string.h>
string_change(char*p)
{
inti,len;
chartemp;
len=strlen(p);
//printf("%d ",len);
//testprintf("%d ",len);
for(i=0;i<(len/2);i++)
{
temp=p[i];
p[i]=p[len-1-i];
p[len-1-i]=temp;
}
}
intmain(void)
{
chara[20]="1234567890";
printf("%s ",a);
string_change(a);
printf("%s ",a);
return0;
}
兩個明顯的誤解:
char* a="12***"; 這樣定義是錯誤的。這樣 a指向字元串常量的指針。而字元串常量是不能改變的。所以停止運行。
c中數組是從0開始編號的。所以字元串最後一個字元是a[len-1];
⑶ C語言中逆轉控制的問題
#include <stdio.h>
main() //函數功能:輸入一串字元,輸出其中的大寫字母
{
char c;
while ( (c=getchar() )!='\n') //循環取得一個字元,直到遇到回車
{
if (c>'Z' || c<'A') continue; //非大寫字母沒有動作,回到while讀入下一個字元
printf("%c",c); //是大寫字母則輸出
}
}
#include <stdio.h>
main() //程序功能:原樣輸出上面的字元串
{
char c;
loop: //循環的開始標志
c=getchar();
printf("%c",c);
if (c!='\n') goto loop; //不到回車再繼續
}
⑷ C語言:數字反轉怎麼編程
大概的思路是這樣--按位剝離這個數,每剝離一次給他乘10再加上剝離出來的個位數,然後進行迭代。
int num;
scanf("%d",&num);
int temp = 0;
while (num != 0) {
temp = temp * 10 + num % 10;
num = num / 10;
}
printf("反轉之後的數為:%d",temp );
⑸ c語言中將輸入的整數逆轉顯示
你說對了,前面是取余的意思。後面那個+『0』的意思是轉換為ASCII,因為0的ASCII是48;
比如你取的余數是4那麼存進去是4但是輸出來按ASCII就不是4了,應該4+『0』才是輸出4,至於putchar(c)的話,你取個余數就輸出個直到取完為止取完也就輸完了
⑹ C語言字元串逆轉函數
只需要將字元數組的前後數據進行交換就行了。
#include<stdio.h>
#include<string.h>
char*reverse(char*x)
{
inti,tem,len=strlen(x);
intn=len/2;
for(i=0;i<=n;i++)//前後交換數據
{
tem=x[i];
x[i]=x[len-1-i];
x[len-1-i]=tem;
}
returnx;
}
intmain()
{
charp[]="abcdefghijk";
printf("relust=%s ",reverse(p));
return0;
}
⑺ C語言數據逆轉,19 20逆成02 91了,有辦法逆轉為20 19嗎,求大神出手相助
#include<cstdio>
usingnamespacestd;
intn=20;
inta[22];
//交換兩個元素
voidswap(int&x,int&y){
intt;
t=x,x=y,y=t;
}
intmain(){
intn=20;
for(inti=1;i<=n;i++)
scanf("%d",&a[i]);
//相當於按著對稱軸的兩個元素都交換一下
for(inti=1;i<=n/2;i++)
swap(a[i],a[n-i+1]);
for(inti=1;i<=n;i++)
printf("%d",a[i]);
return0;
}
這是一個20個數字的數組的翻轉程序....
剛才好像答慢了,所以拿過來應該也是可以的。
⑻ C語言編寫程序 :輸入一個正整數,將其逆序輸出。例如,輸入12345,輸出54321. 跪求大神用循環語句
#include
int main()
{
int n ;
scanf("%d",&n);
while(n>0)
{
printf(" %d",n%10);
n = n / 10;
}
printf(" ");
return 0;
}
拓展資料
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。
⑼ C語言字元串中的單詞逆轉的程序設計
#include <stdio.h>
#include <stdlib.h>
void main()
{
FILE *fin,*fout;
char s[120];
int i,j,L;
printf("Enter your strings\n");
fgets(&s[0],119,stdin);
fout=fopen("datal.txt","w");
fprintf(fout,"%s",s);
fclose(fout);
L = strlen(s) -1 ;
s[L]='\0';
fout=fopen("resul.txt","w");
for (i=L;i>=0;i--){
if (i ==0) {fprintf(fout," %s",&s[i]); break;}
else if (s[i]==' ' ){ fprintf(fout,"%s",&s[i]); s[i]='\0';};
}
fclose(fout);
printf("output in datal.txt and resul.txt\n");
system("pause");
}
⑽ C語言編製程序實現字元串的逆轉功能。要求具有友好的輸入,輸出界面。
#include<stdio.h>
#include<string.h>
intmain(){
inti,l;
chars[300],b[300];
printf("請輸入一串字元:");
scanf("%s",s);
l=strlen(s);
for(i=0;i<l;i++)
b[i]=s[l-i-1];
b[l]=s[l];
printf("逆轉後的字元串:%s ",b);
return0;
}
運行結果:
請輸入一串字元:aldflasdfsslgslfd
逆轉後的字元串:dflsglssfdsalfdla