当前位置:首页 » 编程语言 » 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这样,就是倒序存放