C语言程式设计:输入一个整数并能逐位正序或反位输出,用递回完成。

 我来答
天罗网17
2022-11-14 · TA获得超过6200个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:73.7万
展开全部
C语言程式设计:输入一个整数并能逐位正序或反位输出,用递回完成。 一、问题分析:

要把整数逐位输出,无论正序还是反序,都需要将各个位分离。

在C中的做法就是,通过对10取余,取出个位,然后通过除以10,起到“移位”的效果。

二、演算法设计:

1、输入要处理的整数;

2、取出各位;

3、递回呼叫,以当前值除以10为引数;

4、当值为0时退出。

正序和反序输出,取决于递回呼叫和输出的位置关系。

三、参考程式码:

正序:
#include <stdio.h>void func(int n){ int v; if(n==0) return;到0结束。 v=n%10;取出个位。 func(n/10);递回呼叫 printf("%d ", v);输出。}int main(){ int n; scanf("%d",&n);输入。 func(n);呼叫函式,正序输出各个位。 return 0;}
反序:
#include <stdio.h>void func(int n){ int v; if(n==0) return;到0结束。 v=n%10;取出个位。 printf("%d ", v);输出。 func(n/10);递回呼叫}int main(){ int n; scanf("%d",&n);输入。 func(n);呼叫函式,正序输出各个位。 return 0;}

c语言程式设计 输入一个整数计算并输出该数的平方
方法1:
#include<stdio.h>
int square(int m)
{
return m*m;
}
main(void)
{
int a,result;
printf("please input:\n");
scanf("%d",&a);
result=square(a);
printf("%d*%d=%d\n",a,a,result);
}
方法2:
#include<stdio.h>
#include<math.h>
main(void)
{
int a,result;
printf("please input:\n");
scanf("%d",&a);
result=(int)pow(a,2);
printf("%d*%d=%d\n",a,a,result);
}
希望可以帮到你,如果满意请采纳!
用C语言程式设计输入任意一个整数使其倒序输出
#include<stdio.h>
#include<string.h>
void main()
{
char str[100];
int n;
printf("input a number:");
gets(str);
n=strlen(str);
for(;n>=0;n--)printf("%c",str[n]);
getchar();
}
c语言程式设计:输入一个三位整数,将其逆向输出。如123,则输出321
#include<stdio.h>
main()
{
int i;
int j;
char n[100];
char m[100];
printf("请输入一个三位整数:\n");
i = 0;
n[i] = getchar();
while(n[i] != '\n')
{
++i;
n[i] = getchar();
}
--i;
j = 0;
while(n[j] != '\n')
{
m[i] = n[j];
--i;
++j;
}
printf("这行的倒序是:\n");
printf("%s\n", m);
system("pause");
}
C语言程式设计:输出一个3位整数的逆序数,如输入123,输出321.
#include<stdio.h>
void main()
{int x,a,b,c;
scanf("%d",&x);
a=x/100;
b=x/10%10;
c=x%10;
x=c*100+b*10+a;
printf("%d",x);
}
输入一个整形阵列,要求程式输出最大值,用c语言程式设计。
#include <stdio.h>
#include <malloc.h>
int main()
{
int *arr = NULL;
unsigned int i, length = 0;
int max;
do
{
printf("请输入阵列长度:");
scanf("%d", &length);
}while(length <= 0);
printf("%d\n", length);

arr = (int*)malloc(length*sizeof(int));
if(arr == NULL)
{
printf("记忆体分配出错");
return -1;
}
for (i = 0; i<length; i++)
{
scanf("%d", &arr[i]);
}

max = arr[0];
for (i = 0; i<length; i++)
{
if (max < arr[i])
{
max = arr[i];
}
}

printf("最大数是%d\n", max);
return 0;
}
好久没写,写了个最笨的方法,记得好像两个变数可以搞定
设计一个程式,要求输入一个整数,并能逐位正序和反序输出.例如输入3456则输出3456和6543
正序:直接输出
逆序:拿3456说明,假设已定义变数n=3456
n%10取得末尾的数,输出;n=n/10;此时n=345;回圈这一步骤,直到n/10=0.
为了你好,就不贴程式码了,自己实现吧,祝你成功!
c语言程式设计题目,求一个整数各位数字之和,用递回函式实现。比如输入345则输出12
#include <stdio.h>
int sum(int n)
{
if(n==0) return 0;
else
return n%10+sum(n/10);
}
void main()
{
int n;
scanf("%d",&n);
printf("%d\n",sum(n));
}
C语言程式设计:输入一个整数,求各位数字之和程式怎么写?

#include <stdio.h> void main(){ int n,s=0; scanf("%d",&n); while(n) {s+=n%10;n/=10;} printf("S=%d",s); } 9.程式语言:是用来定义计算机程式的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程式设计师能够准确地定义计算机所需要使用的资料,并精确地定义在不同情况下所应当采取的行动。

10.分类:机器语言、组合语言、高阶语言。

11.形式:组合语言和高阶语言。
用C语言程式设计:输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。
#include <stdio.h>
#include <stdlib.h>
bool isPrime(int n)
{
if(n==1) return false;
for(int i=2; i*i <= n; i++) {
if(n%i ==0) return false;
}
return true;
}
int main()
{
int n, i, j, m;
printf("请输入n: \n");
scanf("%d", &n);
m = n;
for(i=2; i<=n; i++) {
if(isPrime(i)){
while(n%i==0 && n>0) {
printf("%d ", i);
n /= i;
}
}
}
printf("\n");
system("pause");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式