c语言:键盘输入一个正整数,把其逆序输出,排除末尾为零的情况
#include
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(单次表达式;条件表达式;末尾循环体)
{
中间循环体;
}
思路:逆序输出一个整数可以对其除10直到其为0为止,并输出其对10取余,最后的结果就是这个整数的逆序。参考代码:#includeintmain(){intn;scanf("%d",&n);while(n){printf("%d",n%10);n/=10;}return0;}/*输出:1234554321*/
方法有很多,常见的有以下两种:1 输入到整型变量,然后,通过取出各个位值进行反序。
#include <stdio.h>
int main()
{
int v;
scanf("%d",&v);//输入值。
while(v)
{
printf("%d",v%10);
v/=10;
}//逆序输出每位的值。
return 0;
}
2 将数字按照字符串输入,然后反序输出字符串。
#include <stdio.h>
#include <string.h>
int main()
{
char s[100];
int i;
scanf("%s",s);//输入为字符串。
i = strlen(s)-1;//找到字符串结尾位置。
while(i>=0)
{
printf("%c", s[i--]);
}//逆序输出每位的值。
return 0;
}
if(array[j]!=0);插到最后for语句下面。
#include<stdio.h>
int main()
{
char array[100];
int i,j;
printf("请输入一个整数:");
for(i=0;i<100;i++)
{
scanf("%c",&(array[i]));
if(array[i] == '\n') break;
}
for(j=i-1;j>=0;j--)
printf("%c",array[j]);
return 0;
}
C语言程序:实现从键盘输入一个整数,输出该数的平方。
include "stdio.h"main(){int x,y;printf("请输入一个整数\\n");scanf("%d",&x);y=x*x;printf("该数的平方为%d",y);}
用C语言 从键盘上任意输入一个正整数,判断是否为素数。
\/\/是返回1,否则返回0 { int t,i;t=sqrt(num)+1;for(i=2;i<t;i++){ if(num%i==0)break;} if(i==t)return 1;return 0;} int main(){ int n;printf("请输入任意一个正整数:");scanf("%d",&n);if (shu(n))printf("\\n%d是素数!",n);else printf("\\n%d不是素数!",...
编写程序,从键盘输入一个3位的正整数,输出它的百位数,十位数和个位数...
void main(){int a;int b,c,d;\/\/各个位数上的数字printf("请输入一个三位数:");scanf("%d",&a);b=a\/100; \/\/百位c=(a-b*100)\/10; \/\/十位d=a%10;
从键盘输入一个1~99之间的整数,要求输出该数字的发音(用拼音表示)如...
include "stdio.h"int main(int argc, char* argv[]){ char sound[10][5]={"yi","er","san","si","wu","liu","qi","ba","jiu","shi"};int x,y;printf("请输入数值(1-99):");scanf("%d",&x);if(x<1||x>99)printf("ERROR!超出范围。\\n");else if(x<10)printf(...
c语言题目:写出程序 要求从键盘上输入一个十到十万之间的整数,将其最...
include <stdio.h>int main(void){ int n,t,f; printf("Input n(int 9<n<100001)...\\nn="); if(scanf("%d",&n)!=1 || n<10 || n>100000){ printf("Input error, exit...\\n"); return 0; } for(t=n,f=1;t>9;f*=10,t\/=10); printf("T...
编程用c++语言做一个任务:从键盘输入一个学生的两门课成绩,输出总分...
include <stdio.h> int main(){ float a, b, c;printf("请输入该学生的两门成绩,以空格分开 \\n");scanf("%f %f", &a, &b);c = (a + b);printf ("该学生的总成绩为:%0.2f\\n",c);return 0;}
编写汇编语言程序段:从键盘输入一个字符串“please input a number...
BUF L1: MOV AH,1 INT 21H CMP AL,13 JE L2 MOV ES:[DI],AL INC DI JMP L1 L2: MOV BYTE PTR ES:[DI],'$' LEA DX,LHCR
从键盘输入一个不超过4位数的正整数,计算它是几位数的整数。 用c语言...
\/\/#include "stdafx.h"\/\/vc++6.0加上这一行.include "stdio.h"include "string.h"include "stdlib.h"void main(void){ char a[5];int n;printf("Enter a positive integer less than 10000:\\n");scanf("%d",&n);printf("%d is a %d digit number!\\n",n,strlen(itoa(n,a,10))...
C语言,在键盘上输入一个字符,若该字符为英文字母,则输出“字母”,若为...
把getchar(i);换成i=getchar();include<stdio.h> int main(){ char i;printf("input a character\\n");i=getchar(); \/\/这里是这样的 if((i>='a'&&i<='z')||(i>='A'&&i<='Z'))printf("字母");if(i>='0'&&i<='9')printf("shuzi");return 0;} ...
汇编语言 编程实现由键盘输入任意一个字符,将该字符的ASCII码值显示在...
DATA SEGMENT DATA1 DB 'PLEASE PUT A CHAR:$'DATA2 DB 0AH,0DH,'THE ASCII OF THE :$'SD DB 'A'DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET DATA1 ;显示提示信息 MOV AH,09H INT 21H MOV AH,01H INT 21H MOV SI,OFFSET SD ...
储贺前列: #include<stdio.h> #include<stdlib.h> #include<string.h> void main(){ int ipnumber,i; char string[100]; printf("请输入要进行反序的正整数:"); scanf("%d",&ipnumber); itoa(ipnumber,string,10); i=strlen(string); printf("\n反序后的正整数为:...
沿河土家族自治县13099309001: C语言编写程序将输入的一个正整数以相反的顺序输出例如输入1234输出4321,请附每行讲解 - ?
储贺前列: #include<stdio.h> int main() { int i,j,a[10],b; scanf("%d",&b); for(i=0;b!=0;i++) { a[i]=b%10; b=b/10; } //将数字的每一位存到数组里 for(j=0;j<i;j++) printf("%d",a[j]); //将数组里的数逆序输出 return 0; }
沿河土家族自治县13099309001: 如何用C语言编写一个程序“输入任意输入一个正整数,反序输出每一位”? - ?
储贺前列: #include <stdio.h> int main() {int n;scanf("%d", &n);do{printf("%d", n % 10);}while(n /= 10);printf("\n");return 0; }
沿河土家族自治县13099309001: c语言 关于正整数逆向输出 - ?
储贺前列: 首先,很欣赏你的要求;然后我来讲讲我的思路,仅供参考: 思路(一):直接用int类型做,判断位数时,当然用循环从小到大循环,用"%"(模)的方式判断;你的第二第三个问题一起做比较好,用求模和整除的方式分割这个数,然后把分割的每一位数累加到另一个int类型上. 思路(二):用字符串做,用库函数strlen很容易判断位数,也很容易输出每位数,以及倒序;其实倒序更容易,只要倒着输出就行,不一定要重新放到另一个字符串中. 思路(三):用递归函数做,用一个int作为计数,一个char类型的用来逐个放置,控制好结束条件,即输入“\n”时结束,然后自然容易做到那3点. 其实,以上逆序的方法都可以换成对称的思路……
沿河土家族自治县13099309001: c语言中怎么输出一个正整数的逆序数呢? - ?
储贺前列: 1 2 3 4 5 6 7 8 9 10 11#include "stdio.h" intrevint(intx){inty;for(y=0;x;(y*=10)+=x%10,x/=10);returny; } intmain(intargv,char*argc[]){intn=12345678;printf("%d --> %d\n",n,revint(n));return0; } 运行结果:
沿河土家族自治县13099309001: C语言程序设计:编写程序将输入的一个正整数以相反的顺序输出.例如输入1234,输出4321 - ?
储贺前列: #include <stdio.h>int main(int argc,char *argv[]){ int a; int i,num; printf("请输入数字:"); scanf("%d",&a);printf("\n输出结果为:"); for(;;) { num=a%10; a=a/10; printf("%d",num); if (a<10) { printf("%d",a);break; } } printf("\n");}
沿河土家族自治县13099309001: c语言:将递归的方法将一个正整数逆序输出 - ?
储贺前列: 可以参考下面的代码: #include <stdio.h> #include <stdlib.h> void print_order_number(unsigned number) { printf("%d",number%10);fflush(NULL); if ( number >= 10 ) { print_order_number(number/10); } } int main(int argc, char**argv) { if ( argc !...
沿河土家族自治县13099309001: C语言 将一个正整数逆序输出 - ?
储贺前列: void printn(int n) {if((n>=0)&&(n<=9)) printf("%d",n); else{printn(n/10);/*注意这一句和下一句,颠倒顺序就成了逆序输出*/printf("%d",n%10);} }逆序打印字符串: void prnstr(char * str) {if(!str) return;if(!*str)return;prnstr(str + 1);printf("%c", *str); }
沿河土家族自治县13099309001: c语言编程输入正整数,求出其反序数并与原数加和 - ?
储贺前列: 1 输入要计算的数. 2 通过循环取余,计算出反序数. 3 将二者相加,并输出结果即可. 代码:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18#include <stdio.h> intmain() {intn,t,f;scanf("%d",&n);//输入数值.t = n;f = 0;while(t){f *= 10;f+=t%10;t/=10;}//计算反序数t = f+n;//和值.printf("%d\n",t);//输出结果. return0; }
沿河土家族自治县13099309001: c语言中如何实现输入一个整数实现倒序输出 - ?
储贺前列: 定义一个整数类型的输入,然后让它正序输出,倒序输出相信是很多C语言初学入门一定会遇到的经典题目,下面就是我对整数的正序和倒序输出一点小小的总结. 1. 反序(倒序)输出 反序输出常用的思路就是按位取余,把取出来的值进行循环...