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

c語言列印翻轉

發布時間: 2022-10-21 00:19:43

A. c語言編程 從鍵盤上輸入一個字元串通過函數調用的方法使該字元串翻轉 並輸出這個翻轉後的字元串

1 輸入字元串;

2 調用函數進行翻轉,可以通過將對稱位置字元交換值實現;

3 輸出結果。

代碼如下:

voidrevers(char*s)
{
char*p=s,c;
while(*p)p++;
p--;
while(p>s)
{
c=*p;
*p=*s;
*s=c;
}
}

intmain()
{
chars[100];
scanf("%s",s);
revers(s);
printf("%s",s);
}

B. 用C語言,翻轉字元串,(例如輸入「ABCD」,則輸出「DCBA」)!方法越多越好!!

【方法一】
//也是最簡單的有點投機
#include <stdio.h>

int main(){
char str[]="ABCD";
int i;
for(i=3;i>=0;i--) printf("%c",str[i]);
return 0;
}

【方法二】
/*
用指針的,將第一個與最後一個互換,第二個與倒數第二個互換……直到逆置完成
*/

#include <stdio.h>
#include <string.h>

int main(){
char str[]="ABCD",*start,*end,t;
int len,i;
len=strlen(str);
start=str;
end=&str[len-1];
while(start<end){
t=*start;
*start=*end;
*end=t;
start++;
end--;
}
printf("REVERSED:\n");
for(i=0;str[i];i++) printf("%c",str[i]);
return 0;
}
【方法三】
//用堆棧的性質來實現

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAXSTACK 100

char pop(struct stack *stk);
void push(char ch,struct stack *stk);
int empty(struct stack *stk);

struct stack{
int top;
char str[MAXSTACK];
};

int main(void)
{
int i,len_str;
char str[MAXSTACK];
struct stack s;
s.top=-1;
printf("\nInput the string please:");/*輸入你要逆置的字元串e.g.「ABCD」*/
gets(str);
len_str=strlen(str);
for(i=0;i<len_str;i++)
push(str[i],&s);
printf("The disorder is:");
for(i=0;i<len_str;i++){
if(!empty(&s))
printf("%c",pop(&s));
}
getch();
return 0;
}

char pop(struct stack *stk){
return stk->str[stk->top--];
}

void push(char ch,struct stack *stk){
if(stk->top==MAXSTACK-1){
printf("\nOVERFLOW!\n");
exit(1);
}
else stk->str[++(stk->top)]=ch;
return;
}

int empty(struct stack *stk){
return (stk->top==-1);
}

還可以用遞歸的思想來解決該問題,這里就不多說了……

C. C語言中輸入一個英語句子將它翻轉後輸出

完成!輸入句子,回車換行。之後Ctrl+Z結束輸入,支持句子和段落反轉輸出。size是最大字元數,我設的為30,你可以自己修改,也可以用realloc設成動態數組。有什麼不懂得地方可以接著問我。

#include <stdio.h>

#include <malloc.h>

#include<string.h>

#define size 30

int main()

{

char *a;

int b;

a=(char*)malloc(size*sizeof(char));

scanf("%[^/n]",a);

b=strlen(a);

for(;b>0;b--)

printf("%c",a[b-1]);

printf(" ");

return 0;

}

D. 用C語言實現一個字元串的反序(如:「123」轉換成「321」),要求時間復雜度O(1)


#include<stdio.h>

voidmain()
{
charstr[100];
inti=0;
printf("Inputastring:");scanf("%s",str);

printf("reversedstring:");

while(str[i])i++;
while(i)printf("%c",str[--i]);

printf(" ");
}

E. C/C++ C語言 二維數組 旋轉 輸出。


voidrotateArr(){

inttemp[ROW][COL],i,j,k;

for(i=0,j=COL-1;j>=0;i++,j--)

for(k=0;k<COL;k++)

{

temp[k][j]=arr[i][k];//temp作為臨時數組,存放90度翻轉後的arr數組

}

for(i=0;i<ROW;i++)

{

for(j=0;j<COL;j++)

{

printf("%5d",arr[i][j]=temp[i][j]);//把temp數組的內容逐個賦給arr數組,以改變arr數組的值,使得多次調用rotateArr函數時arr的值會不斷改變

}

printf(" ");

}

printf(" ");

}

F. 位運算 C語言輸入一個整數,把這個數的第三位到第五位翻轉並輸出,切記位運算

#include<stdio.h>
#include<string.h>
main()
{
int n;
scanf("%d",&n);
if ((n&16)==0)
printf("0");
else
printf("1");
if ((n&8)==0)
printf("0");
else
printf("1");
if ((n&4)==0)
printf("0");
else
printf("1");
printf("\n");
}

G. 怎樣用c語言表示 翻轉的數 比如把81 翻轉為18

用c語言表示翻轉的數可以參考下面的代碼:

#include <stdio.h>

int main()

{int C,D,S;

scanf("%d",&C);

D=(C%10)*10+C/10;

S=C+D;

printf("S=%d",S);

}

(7)c語言列印翻轉擴展閱讀:

scanf()是C語言中的一個輸入函數。

與printf函數一樣,都被聲明在頭文件stdio.h里,因此在使用scanf函數時要加上#include <stdio.h>。

(在有一些實現中,printf函數與scanf函數在使用時可以不使用預編譯命令#include <stdio.h>。)它是格式輸入函數,即按用戶指定的格式從鍵盤上把數據輸入到指定的變數之中。

H. C語言輸出一行將所有的單詞的位置翻轉過來,最後出現的單詞最先輸出,每

#include<stdio.h>
#include<string.h>
intmain()
{
chara[100];
intk,i,j,p;

gets(a);
k=strlen(a);
j=k;
for(i=k-1;i>=0;i--)
{
if(a[i]=='')
{
p=i;//先保存當前要輸出的位置
while(a[i-1]=='')i--;//跳過多餘的空格
for(;p<j;p++)
{
printf("%c",a[p+1]);//輸出單詞中的各字母
}
j=i;//記錄下當前結束位置
}
}

for(i=0;i<j;i++)
{
printf("%c",a[i]);
}
printf(" ");//換行
return0;
}

I. c語言列印翻轉等腰梯形

dty@ubuntu:~$catt.c
#include<stdio.h>
intmain()
{
inta,b,c,n;
scanf("%d",&n);
for(a=n-1;a>=0;a--)
{
for(b=0;b<n-a-1;++b)
printf("40");
for(c=0;c<2*a+n;++c)
printf("*");
printf(" ");
}
return0;
}

dty@ubuntu:~$./a.out
3
*******
*****
***
dty@ubuntu:~$./a.out
4
**********
********
******
****
dty@ubuntu:~$./a.out
5
*************
***********
*********
*******
*****

J. c語言中把一維數組的內容翻轉後輸出。 不懂什麼叫把數組的內容翻轉。 翻轉是什麼意思是倒序存放嗎

翻轉應該就是n存到0,1存到n-1這樣,就是倒序存放