C语言编写程序 :输入一个正整数,将其逆序输出。例如,输入12345,输出54321. 跪求大神用循环语句
#include int res[5] = {}; //外部变量 , 把每一位作为数组元素进行存储int *p = res;int main(){ int num = 12345; void ser(int);//分别输出每一位数字 ser(num); printf("
"); p = res + 4; //指针置于数组末尾 for(int i=0; i 9){ ser(number/10); //递归 } printf("%d ", number % 10); //顺序输出 *p = (int)number % 10; p++;}/* 程序的输出顺序为 10 -> 8 -> 6 -> 4 -> 2 递归步骤解释 1: 第一次执行ser函数,numbser = 12345判断数字大于9,将int(1234)再次执行函数 ps: (int)/(int) 结果为int 2: 待执行ser函数后,输出结果个位数 12345 % 10 = 5 3: 第二次执行ser函数....类比步骤1 4: 待递归执行ser函数,类比步骤2,输出十位个数 1234 % 10 = 4 5: 类比步骤1 6: 类比步骤2,输出百位个数 123 % 10 = 3 7: 类比步骤1 8: 类比步骤2,输出千位 12 % 10 = 2 9: 类比步骤1 10: number值为1,不再递归,直接输出万位 1 % 10 = 1 */
如有帮助,请点赞支持原创QVQ
#include
main()
{ int i;
char s[1000];
gets(s);
for(i=strlen(s)-1;i>=0;i--)printf("%c",s[i]);
system("PAUSE");
}
#include<stdio.h>
int main()
{
int num;
scanf("%d",&num);
int a,i;
for(i = 0;num > 0;i++)
{
a = num % 10;
printf("%d",a);
num = num/10;
}
return 0;
}
分析:首先,输入的是一个整数,因此最前面一位数不是零,所以我们可以用除10取余法写。
a = num % 10
就是输出数字的最后一位
然后除10剔除数字最后一位,这样数字倒数第二位就会输出。以此类推,就能逆序输出数字。
拓展资料
for循环是编程语言中一种开界的循环语句,而循环语句由循环体及循环的终止条件两部分组成,for循环其在各种编程语言中的实现与表达有所出入,但基本为以C语言和pascal语言代表的两种形式。
C语言中的for循环如下
1.语句最简形式为:
for( ; ; )
2.一般形式为:
for(单次表达式;条件表达式;末尾循环体)
{
中间循环体;
}
#include
int main()
{
int n ;
scanf("%d",&n);
while(n>0)
{
printf(" %d",n%10);
n = n / 10;
}
printf("
");
return 0;
}
拓展资料
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
#include <stdio.h>
#include <stdlib.h>
代码如下:
void oppsite(int n) //逆序输出函数
{
if(n==0) return;
else
printf("%d",n%10);
oppsite(n/10); //递归调用
return;
}
int main()
{
int m;
printf("input your number:
");
scanf("%d",&m);
printf("the oppsite number is :
");
oppsite(m);
return 0;
}
源代码截图:
参考资料:百度百科-网页链接
扩展资料:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。[1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
#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("
");
}
return 0;
}
运行结果:
#include<stdio.h>
#include<string.h>
#include <windows.h>
main()
{
system("chcp 65001");
int i,j,t,n;
char a[10];
printf("请输入字符串:");
gets(a);
n=strlen(a);
for(i=0;i<=n/2;i++)
{
t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
}
for(j=0;j<n;j++)
printf("%c",a[j]);
printf("
");
return 0;
}
运行示例
陆达盐酸:[答案] #include int main(){int a,b,i,t;int k = 0,sum = 0;scanf("%d",&a); //输入整数at = a;if(a / 10 == 0){k = 1;sum = a;printf("%d\n",k);printf("%d\n",sum);}else{while(a / 10 != 0){a = a / 10; //每除10,就有...
滨州市15111915147: 用C语言编程,输入一个正整数,计算并显示该数的各位数字之和. - ?
陆达盐酸: #include <stdio.h>int main() {int a, sum = 0;scanf("%d", &a); for(;;){sum += a % 10;a /= 10;if(a==0)break;} printf("sum = %d\n", sum);return 0; }
滨州市15111915147: 如何用C语言编写一个程序,输入任意输入一个正整数,反序输出每一位 - ?
陆达盐酸: #include <stdio.h> int main() {int n;scanf("%d", &n);do{printf("%d", n % 10);}while(n /= 10);printf("\n");return 0; }
滨州市15111915147: 用C编程序:输入一个正整数n,输出2/1+3/2+5/3+8/5+…的前n项之和,保留两位小数.该序列从第3项起,每一项的分子是前一项分子与分母的和,分母是前... - ?
陆达盐酸:[答案] #include int main() { double a=1,b=1; double s=0; int i,n; scanf("%d",&n); for(i=1;i
滨州市15111915147: c语言编程题输入1 个正整数 n, 计算并输出 s 的前n项的和(保留 3 位小数).S=1/1 + 1/3 + 1/7 + 1/15 + 1/31 +……(该序列从第2项起,每一项的分母与前... - ?
陆达盐酸:[答案] for(n=1;n{ float sum=0; float a=power(2,n); sum=sum+(1/(a-1)); } 要调用库函数,我只写了大概的.n 可以动态输入
滨州市15111915147: 编写一个C程序,读入一个正整数n(n不大于10000),输出所有连续正整数的和等于n的情况注意对于给定的n不一定有答案,如4,6就无解. 排除只有一个数的... - ?
陆达盐酸:[答案] #include main() { int num; printf("请输入小于10000的数字\n"); scanf("%d",&num); if(num>10000) printf("你输入有误\n"); else { if(num%3!=0) printf("无解\n"); else printf("数字为%d,%d,%d\n",num/3-1,num/3,num/3+1); } }
滨州市15111915147: 如何用C语言编写程序输入一个正整数n,编程序输出从2到n间的所有完数. - ?
陆达盐酸: C语言实现如下:#include<stdio.h> void main() { int i,j,k,n; scanf("%d",&n); //输入一个正整数n for(i=2;i<=n;i++) { k=0; for(j=1;j<=i-1;j++) if(i%j==0) k+=j; if(k==i) printf("%d\n",i); //判断i的所有真因子之和是否等于i,是则输出i. } }注意:建议n...
滨州市15111915147: C语言编程:输入一个正整数,输出如下图形,例如输入5,输出的图形如下: - ?
陆达盐酸: #include int main() { int i,j,k,n; printf("请输入一个数字:"); scanf("%d",&n); for(i=1,k=-1;i { for(j=0;j printf("%d",i); if(k>0) { for(j=0;j printf("%d",i); } printf("\n"); } for(i=n-1,k=2*(n-2)-1;i>0;i--,k-=2) { for(j=0;j printf("%d",i); if(k>0) { for(j=0;j printf("%d",i); } printf("\n"); } return 0; }
滨州市15111915147: 用C语言编写程序从键盘输入一个正整数数n,输出n! - ?
陆达盐酸: 晚上好楼主,我已经编译通过请看图 谢谢采纳!#include <stdio.h> int Cacu(int n) { int i,sum=1; for(i=1;i<=n;i++) sum=sum*i; return sum; }void main() { int n,result; printf("please input a number for you to operate\n"); scanf("%d",&n); result=Cacu(n); printf("the result you want to get is:\n"); printf("%d\n",result); }图:
滨州市15111915147: c语言编写程序,输入一个正整数n,计算1+(1/3)+(1/5)+...的前n项之和.求过程 - ?
陆达盐酸: #include<stdio.h> int main(void) { int n; float s=0.0; printf("请输入需要计算数列前多少项:"); while(!scanf("%d",&n)){ printf("输入错误!请重新输入:"); fflush(stdin); } for(int i=0;i<n;i++){ s+=1.0/(2*i+1); } printf("数列前 %d 项之和为:%g\n",n,s); return 0; }