C语言 编写一个程序,输入一个正整数,求出它是几位数。
思路:求一个正整数n的位数可以先定义一个变量num,并初始化为0,依次把该整数n除以10,直到其为0为止,并且每除一次10,变量num的个数就自加1,最后num的值就是该整数n的位数。
参考代码:
#include int main(){ int n,num=0;scanf("%d",&n);while(n){num++;n/=10;}printf("%d
",num); return 0;}/*输出:1234566*/
#include
#include
int main(void)
{
int n,sum=0,count=0,s;
printf("输入一个整数:");
scanf("%d",&n);
while(n)
{
s=n%10;
n=n/10;
sum+=s;
count++;
}
printf("整数的个数为:%d
个位数的和为:%d
",count,sum);
system("pause");
return 0;
}
思路:求一个正整数n的位数可以先定义一个变量num,并初始化为0,依次把该整数n除以10,直到其为0为止,并且每除一次10,变量num的个数就自加1,最后num的值就是该整数n的位数。
参考代码:
#include <stdio.h>
int main()
{
int n,num=0;
scanf("%d",&n);
while(n){
num++;
n/=10;
}
printf("%d
",num);
return 0;
}
/*
输出:
123456
6
*/
int fun(int num)
{
int count=0;
while(num!=0)
{
num=num/10;
count++;
}
return count;
}
#include <stdio.h>
int weishu(long n,int a[])
{int i=0;
while(n)
{
a[i++]=n%10;
n/=10;
}
return i;
}
void main (void)
{
long n;
int k,i,j,t,a[20];
scanf("%ld",&n);
printf("原数:%ld
",n);
k=weishu(n,a);
printf("位数:%d
",k);
for(i=0;i<k-1;i++)
for(j=0;j<k-1-i;j++)
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
printf("从小到大:");
for(i=0;i<k;i++)
printf("%d",a[i]);
printf("
从大到小:");
for(i=k-1;i>=0;i--)
printf("%d",a[i]);
printf("
");
getch();
}
自定义一个不限定长度的字符串输入函数,在主函数中调用输入数字字符串后求字符串各元素代表的十进制数字之和。举例代码如下:
南享瑞联:[答案] #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,就有...
盐都区18068468488: 如何用C语言编写一个程序,输入任意输入一个正整数,反序输出每一位 - ?
南享瑞联: #include <stdio.h> int main() {int n;scanf("%d", &n);do{printf("%d", n % 10);}while(n /= 10);printf("\n");return 0; }
盐都区18068468488: C语言程序设计:编写程序,输入一个正整数,统计该整数的位数并计算其各个数位上的数字之和. - ?
南享瑞联: #include <stdio.h>int main() {int a, b, i, t;int k = 0, sum = 0; scanf("%d", &a); //输入整数a t = 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,就有一位k++; ...
盐都区18068468488: 如何用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...
盐都区18068468488: 编写一个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); } }
盐都区18068468488: C语言 编写程序,从键盘输入一个正数,计算该数的平方根. - ?
南享瑞联: # include <stdio.h> #include<math.h> int main() {double x;scanf("%lf",&x);printf("%lf\n",sqrt(x));return 0; }
盐都区18068468488: C语言 编写一个程序,输入一个正整数,求出它是几位数. - ?
南享瑞联: main() {int a; int i,N; scanf("%d",&a); for(i=0;a;i++) a=a/10; N=i; printf("N=%d\n",N); }
盐都区18068468488: 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; }
盐都区18068468488: 用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); }图:
盐都区18068468488: 用C语言编写一个程序,输入任意一个正整数n,输出P({1,2,...,n})的所有元素. - ?
南享瑞联: #include<stdio.h>#include<iostream.h> void main() { int a=1,b,c,i; cout<<"please input max b"<<endl; cin>>b; c=a; for(;c<b+1;c++) {i=1; for(i=2;i<=c;i++) { if(c%i==0) break; }if(i==c) cout<<c<<'\0'; } }