如何用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(单次表达式;条件表达式;末尾循环体)
{
中间循环体;
}
#include
int fan(int n);
void main(){
int n;
printf("请输入一个三位数以内的正整数:");
scanf("%d", &n);
n = fan(n);
printf("%d
", n);
}
int fan(int n) {
int x, y, z;
if (n <= 9)
return n;
else if (n >= 10 && n <= 99) {
x = n / 10;
y = n - 10 * x;
z = 10 * y + x;
return z;
}
else {
x = n / 100;
y = (n - 100 * x) / 10;
z = n - 100 * x - 10 * y;
n = 100 * z + 10 * y + x;
return n;
}
}
抱歉图片上没看到用函数来完成,代码是对的,图片是不用函数的形式。
int main()
{
int n;
scanf("%d", &n);
do
{
printf("%d", n % 10);
}while(n /= 10);
printf("\n");
return 0;
}
#include<iostream>
using namespace std;
void print(int n)
{
int t=n,sum=0;
while(t!=0)
{
sum*=10;
sum+=t%10;
t/=10;
}
cout<<sum<<endl;
}
int main()
{
int n;
cout<<"输入你想转换的数:"<<endl;
while(cin>>n)
{
print(n);
}
return 0;
}
#include<stdio.h>
#include<math.h>
void main()
{
int n;
scanf("%d",&n);
int i=0;//表示数字的长度。
while(pow(10.0,(double)i)<=n)
{
i++;
}
for(int j=0;j<i;j++)
{
printf("%d\n",(n/(int)pow(10.0,(double)j))%10);
}
}
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
void main ()
{
string s;
cout<<"输入数字:"<<endl;
cin>>s;
for (int i=strlen(s)-1;i>=0;i--)
cout<<s[i]<<' ';
}
请问怎么用c语言程序编写输入任意数字进行四则运算呢?
level['*']=level['\/']=1;level['(']=level[')']=2;while(scanf("%s",s)!=EOF){ topa=topb=0;for(i=0;s[i];i++){ if(s[i]=='('){ opstk[topa++]='(';} else if(s[i]==')'){ while(topa>0&&opstk[topa-1]!='('){ topa--;ret[topb++].op=opstk...
...a表示最小数,c表示最大数。这个程序怎样用C语言程序写?
程序如下:include <stdio.h> main(){ int x,y,z,t;printf("请输入三个整数");scanf("%d%d%d",&x,&y,&z);if(x<z&&z<y){ t=z;z=y;y=t;} else if(z<y&&y<x){ t=z;z=x;x=t;} else if(y<x&&x<z){ t=x;x=y; y=t;} printf("%d %d %d",x,y,z);} 回...
如何用C语言编写一个计算机程序,实现任意输入三个数a,b,c,将他们按照...
我的思路是:设一个Max变量,用于存放最到值,先比较a和b,谁大就把谁存放到max中,然后再拿max和c比较,要是c小,则输出max,要是c大,则把c存放到max中并输出!void main(){ int a,b,c,Max;printf("请输入数据:\\n");scanf("%d%d%d",&a,&b,&c);Max=(a>b)?a:b;Max=(Max>c...
c语言如何实现输入任意多个整数?
代码如下:include<cstdio> int main(){ int num[1000];char ch;do { scanf("%d",&a[i++]);}while((ch=getchar())!= '\\n');\/\/ 这里用来判断是否输入了回车 return 0;} while(cin>>b[cnt++],cin.get()!='\\n');\/\/也可用这句代替 ...
C语言的一个简单程序:输入100个任意数字,按从小到大排序。
\/\/排序 for(i=0;i<99;i++){ for(j=i+1;j<100;j++){ if(a[j]<a[i]){ t=a[j];a[j]=a[i];a[i]=t;} } } for(i=0;i<100;i++) \/\/输出结果,十个一行 { printf("%d ",a[i]);if(i%9==0)printf("\\n");} }\/\/一个简单的选择法,每次将最小的选出来 ...
如何用c语言编写:输入任意整数,输出他们的平均数。任意整数的意思是输...
include <stdio.h>int main(int argc,char *argv[]){ int n,sum,t; printf("Input some integers(letter end)...\\n"); for(sum=t=0;scanf("%d",&n)==1;t++) sum+=n; printf("\\nThe AVERAGE is %g\\n",sum\/(t+0.0)); return 0;} ...
用c语言编写程序,输入任意一串字符,再输入一个字符和一个位置,将此字符...
include <stdio.h>#include <string.h>void main(){ char ch[100]; char c; int index; memset(ch,NULL,100);\/\/初始化所有元素为空 puts("请输入一串字符:\\n"); gets(ch); puts("请输入一个字符:"); scanf("%c",&c); puts("请输入要插入的位置:"...
求一个C语言程序的实现.输入任意数字能对应显示中文的大写.比如输入1...
我来帮你写吧!好,听见你说可以了!好久没有写了,不知道还能写好不!经过一段时间,写出来了(我这个是直到亿就不能了,而且是整数,我想带小数你自己就可以搞定了吧),拿到机子上试试,还真能实现你那功能,就是有点麻烦。这个程序我自己看着就想笑!其实还有一些系统函数忘了!要不然就更快了...
在C语言中如何定义并输入任意个数据
用一个特定的数字表示结束,比如0, 当用户输入0 的时候就停止,可以参考下面的代码:int a[100],i, count;i =0;while(scanf("%d", &a[i]) != EOF) { if (a[i] == 0) break; \/\/ 用户输入了0,表示结束。i++;} count = i-1;...
...任意一个实数,输出该数的最高位数字和第1位小数的数字?
以下是用C语言编写的程序,实现输入一个实数,输出该数的最高位数字和第1位小数的数字:c#include stdio.h#include math.hint main() { double number, int_part, fraction_part; int highest_digit; \/\/ 输入实数 printf("请输入一个实数:"); scanf("%lf", number); \/\/ 取...