从键盘输入一个正整数,要求用循环的方法按逆序依次求得并输出该整数的各个数位,并输出该整数的位数

供稿:hz-xin.com     日期:2025-01-13
从键盘输入一个四位正整数。首先分离出该正整数的每一位数字,并按逆序输出各位数字

#include
using namespace std;
void main()
{
int num;
cout<<"input the data:"<<endl;
cin>>num;
if(num9999)
do{
cout<<"input wrong,try again!"<<endl;
cin>>num;
}while(num9999);
int temp=num,a[4],i=0;
cout<<"the reverse sorted is:"<<endl;
for(i=0;i<4;i++)
{
a[i]=temp%10;
temp/=10;
cout<<a[i];
}
cout<<endl;
for(i=0;i<4;i++)
for(int j=i+1;j<4;j++)
{
if(a[i]>a[j])
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
cout<<"the maximum number which build by the "<<num<<" is:"<<endl;
for(i=0;i<4;i++)
cout<<a[3-i];
cout<<endl;
cout<<"the minimum number which build by the "<<num<<" is:"<<endl;
for(i=0;i<4;i++)
cout<<a[i];
cout<<endl;


}

两个地方错了。
第一,scanf()读入的应为变量的地址,所以
scanf("&d",x);应该是
scanf("%d",&x) //要用&x,否则程序出错
第二,
scanf("%d",a + b * 10 + c * 100 + d * 1000);应该是
printf("%d",a + b * 10 + c * 100 + d * 1000);

#include <stdio.h>
int main(){
int n,m=0;
scanf("%d",&n);
while(n){
printf("%d",n%10);
n/=10;m++;
}
printf("
%d",m);
return 0;
}

//运行示例:



输入一个四位正整数,输出中间的两位 c语言 用循环
include<stdio.h> void main(){ int n,m,t,i=0;int a[4];printf("请输入n=");scanf("%d",&n);m=n;while(m%10){ t=m%10;a[i++]=t;m=m\/10;} printf("%d的中间两位数为:%d,%d\\n",n,a[2],a[1]);}

c语言,从键盘中输入一个正整数n分别求1到n之间所有个位数是3或5的数的...
在这个程序中,我们使用 for 循环遍历从 1 到 n 的所有整数,判断它们的个位数是否为 3 或 5,如果是,则将它们的和累加到变量 sum 中。最终输出变量 sum 的值,即为题目所求。需要注意的是,题目要求输入一个正整数 n,因此我们需要对输入的值进行合法性检查,以确保它是正整数。此外,如果 n...

C语言编写程序 :输入一个正整数,将其逆序输出。例如,输入12345,输出54321...
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 就是输出数字...

使用C语言输入一个正整数n,输出1+2!+3!+...n!
include<stdio.h> int main(){ int i,sum=0,t,s,n;printf("请输入一个整数:");\/\/提示语句 scanf("%d",&n);\/\/输入n的值 for(i=1;i<=n;i++) \/\/第一次循环,就是数字1到n 的递增 { s=1;\/\/每次阶乘都要初始化s=1 for(t=1;t<=i;t++)\/\/循环里的循环 ,求每个i的...

c语言 , 用循环语句编写一个程序,输入一个正整数,并输出个位,十位,百 ...
include<stdio.h>int main(){int x; scanf("%d",&x); for(;x;x\/=10) printf("%d ",x%10); return 0;}

C语言for循环设计输入一个正整数,求它的各位数字之和及位数 例如234的...
同意二楼,但得改一下 include<stdio.h> int main(int argc, char* argv[]){ int a,b=0,c=0;printf("请输入一个正整数\\n");scanf("%d",&a);do { c++;b+=a%10;a\/=10;}while(a>0);printf("您输入的是%d位数,各个数的和是%d\\n",c,b);return 0;} ...

哪个高手告诉我用C语言怎么编“从键盘上输入一个正整数N,
在这个C语言程序中,我们首先导入了一个名为 int main() 的函数。这个函数负责执行程序的主要逻辑。首先,我们使用 printf 函数提示用户输入一个整数。然后,我们声明了一个整型变量 iInput 用于存储用户输入的整数。接下来,我们声明了两个整型变量 iSum 和 itemp。变量 iSum 用于存储输入数字中各个数字...

C++编程求助:使用循环语句输出该正整数的每一数位的数字。
include<stdio.h> include<string.h> int f(char a[]){int i,l=strlen(a);for(i=0;i<l;i++)if(a[i]<'0'||a[i]>'9') return 1;return 0;} int main(){ char a[100];int p,i;while(scanf("%s",a)){ p=strlen(a);if(f(a)) {printf("输入有误请重新输入\\n");...

C语言用循环结构实现:输入正整数n,计算s=1\/2! +1\/4! +1\/6! +…+1\/n!
include <stdio.h> int main(){ int n,i=1,j=1;double s=0;\/\/printf("Enter A Integer:\\n");scanf("%d",&n);\/*s=1\/2! +1\/4! +1\/6! ++1\/n!*\/ for(i;i<=n\/2;i++){ int f=1;\/\/ printf("i=%d\\n",i);for(j;j<=i*2;j++){ \/\/ printf("j=%d\\n"...

如何用C语言实现用户输入一个整数,运行结果为0?
该代码中,我们首先从用户输入中读取一个正整数 n,然后使用一个 for 循环遍历 1 到 n 中的所有数。对于每个数,我们计算它的各位数字之和,并检查该数字之和是否等于 9。如果等于 9,则将该数加入总和 sum 中,并将符合条件的数的数量加 1。最后,我们检查是否存在各位数字之和为 9 的数,...