
c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100]
int i, len
printf("请输入一个字符串:")
scanf("%s", str)
len = strlen(str)
printf("逆序输出的字符串为:")
for (i = len - 1i >= 0i--)
{
printf("%c", str[i])
}
return 0
}
程序首先从用户处接收输入的字符串,并使用strlen()函数计算字符串的长度。然后使用循环遍历字符串中的每个字符,并将它们逆序输出。
以下是C语言程序,使用指针将键盘输入的字符串逆序存放,并输出结果:```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100], temp
int len, i
char *p1, *p2
printf("请输入一个字符串:")
scanf("%s", str)
len = strlen(str)
p1 = str
p2 = str + len - 1 // 指向字符串最后一个字符
for (i = 0i <len/2i++) {
temp = *p1
*p1 = *p2
*p2 = temp
p1++
p2--
}
printf("逆序存放后的字符串为:%s", str)
return 0
}
```
程序先从键盘输入一个字符串,然后获取字符串的长度和指向字符串首尾的指针。接着,使用指针交换相应位置上的字符,完成字符串逆序存放。最后输出逆序存放后的字符串。
注意,字符串的长度可能为奇数或偶数,因此在for循环中应该只交换字符串长度除以2个字符即可。
C语言输入一个正整数n,将其逆序输出:
#include<stdio.h>
#include<stdlib.h>
int main(){
int a
while(scanf("%d",&a)!= EOF){
while(a>0){
printf("%d",a%10)
a = a/10
}
printf("\n")
}
return 0
}
运行结果如下:
扩展资料:
算法:
首先判断输入的正整数的位数,(例如1000=n<9999)
然后输出m(注意,C语言里方括号是取整运算符号)
//因为是整型运算,其实方括号可以省去
m=[n/1000]//【取出千位】
n-=1000*[n/1000]//【n只剩下三位】
m+=10*[n/100]//【取出百位】
n-=100*[n/100]// 【n剩下两位】
m+=100*[n/10]+1000*(n-[n/10])//【取出十位】
printf("d%",m)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)