当前位置:首页 » 编程语言 » 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,循环结束