c语言 输入一个正整数n(3<=n<=7),输出所有的n位水仙花数?
你的sum, a, t每次循环开始要归为初始值。
还有你搞得太麻烦了,直接t = pow(10, n); sum = t * 10 - 1 就好了
while(h!=0)?
你的h都没有初始化,它不等于0等于啥呀?直接就果断退出了。你这是跟你的程序开玩笑呢,它当然啥也不给你输出了
#include <stdio.h>
int main(){
int n,i,a,b=0,c1,c2,c3,c4,c5,c6,c7,s[1000];
printf("输入位数:
");
scanf("%d",&b);
if(b<3||b>7) return 44;
a=b;
n=1;
do{
n*=10;
a--;
}while(a);
a=0;
printf("%d
",b);
for(i=n/10;i<n;i++){
if(b==3)
{
c1=i%10;
c2=i/10%10;
c3=i/100;
if(i==c1*c1*c1+c2*c2*c2+c3*c3*c3)
s[a++]=i;
}
else if(b==4)
{
c1=i%10;
c2=i/10%10;
c3=i/100%10;
c4=i/1000;
if(i==c1*c1*c1*c1+c2*c2*c2*c2+c3*c3*c3*c3+c4*c4*c4*c4)
s[a++]=i;
}
else if(b==5)
{
c1=i%10;
c2=i/10%10;
c3=i/100%10;
c4=i/1000%10;
c5=i/10000;
if(i==c1*c1*c1*c1*c1+c2*c2*c2*c2*c2+c3*c3*c3*c3*c3+c4*c4*c4*c4*c4+c5*c5*c5*c5*c5)
s[a++]=i;
}
else if(b==6)
{
c1=i%10;
c2=i/10%10;
c3=i/100%10;
c4=i/1000%10;
c5=i/10000%10;
c6=i/100000;
if
(i==c1*c1*c1*c1*c1*c1+c2*c2*c2*c2*c2*c2+c3*c3*c3*c3*c3*c3+c4*c4*c4*c4*c4*c4+c5*c5*c5*c5*c5*
c5+c6*c6*c6*c6*c6*c6)
s[a++]=i;
}
else if(b==7)
{
c1=i%10;
c2=i/10%10;
c3=i/100%10;
c4=i/1000%10;
c5=i/10000%10;
c6=i/100000%10;
c7=i/1000000;
if
(i==c1*c1*c1*c1*c1*c1*c1+c2*c2*c2*c2*c2*c2*c2+c3*c3*c3*c3*c3*c3*c3+c4*c4*c4*c4*c4*c4*c4+c5*
c5*c5*c5*c5*c5*c5+c6*c6*c6*c6*c6*c6*c6+c7*c7*c7*c7*c7*c7*c7)
s[a++]=i;
}
}
for(i=0;i<a;i++){
printf("%d ",s[i]);
}
printf("
");
return 0;
}
宰贪科素: while(h!=0)? 你的h都没有初始化,它不等于0等于啥呀?直接就果断退出了.你这是跟你的程序开玩笑呢,它当然啥也不给你输出了
金湾区19432063672: 用c语言编写程序 输入一个正整数n?
宰贪科素: /*用c语言编写程序 输入一个正整数n,求1到n的数中1出现的个数*/#include"stdio.h"int count(int n){ int i,j,c=0; for(i=1;i
金湾区19432063672: 用C语言编程 :输入一个正整数n 用3种方法分别计算下式的和 保留4位小数 - ?
宰贪科素: / printf(", total).4f\ i < for (j = i;= n;/ total += temp;= n; double total = 0.h" double total = 0:%:%;;= n;嵌套循环, temp = 1.0, total); j >.0; i <.0; total = total + temp.0; i;;/%d" j, &n); j--) temp = temp / i++) { temp = temp / }return total;double fact(int n) ...
金湾区19432063672: 编写一个C程序,输入一个整数n,根据n的值在屏幕上输出相应图案 例如:输入 n = 3,则在屏幕上输出 - ?
宰贪科素: #include <stdio.h>int main(void) {int i, j, k;int n; printf("n=");scanf("%d", &n); printf("\n\n\n");for (i=0; i<n; i++){for (j=0; j<i+1; j++){printf("*");}for (k=0; k<2*(n-1-i)-1; k++){printf(" ");}if (n-1 == i){for (j=0; j<i; j++){printf(...
金湾区19432063672: 用C语言编写程序从键盘输入一个正整数数n,输出n,是什么情况? - ?
宰贪科素: #include <stdlib.h> #include <stdio.h> #include <string.h> void main() { int a; char str1[200]; printf("Please input a integer: "); scanf("%d", &a); itoa(a, str1, 10); printf("The length of integer=%d", strlen(str1)); }C语言实现如下:#include<...
金湾区19432063672: 简单的c语言!题目:输入1个三位正整数N,输出其个位、十位和百位. - ?
宰贪科素: #includevoid main() { int ge,shi,bai; int i,j; printf("请输入一个3位数:\n"); scanf("%d",&j); ge=j%10; shi=j%100/10; bai=j/100; printf("输入的百位数是%d,十位数是%d,个位数是%d",bai,shi,ge); }
金湾区19432063672: 从键盘输入一个正整数N,请输出大于N的第3个素数用C语言怎么做 - ?
宰贪科素: #include<stdio.h> void main() { int n,i,flag=0; scanf("%d",&n); while (n++) { for (i=2;i<=n;i++)//判断素数 if ((n)%i==0) break; if (n==i) { flag++; if (flag==3)//输出第三个素数并推出while循环 { printf("第三个素数:%d\n",n); break; } else n++; } } }
金湾区19432063672: 用c语言的循环语句,输入一个正整数n,在输入n个整数,输出最小值. - ?
宰贪科素: 1、新建一个工程和.c文件 ,输入头文件和主函数. 2、定义变量类型和赋初值. 3、输入整数. 4、用for循环计算整数的长度. 5、用for循环将各位数字存入数组中. 6、用for循环输出数组. 7、编译,输出最小值.
金湾区19432063672: c语言怎么写出:“输入一个正整数n,再输入n个整数,输出最小值”的代码 - ?
宰贪科素: #include int main() { int last=0,cnt=0,num; while(1) { printf("please input number"); scanf("%d\n",&num); cnt++; if(last>num) last=num; if(cnt>0) printf(); return 0; }
金湾区19432063672: C语言,输入一个正整数n,计算下式求出e的值( - ?
宰贪科素: 1 2 3 4 5 6 7 8#include <stdio.h> voidmain() { intn;doublek=1,s=1; for(n=1;1/k>=1e-6;n++) {k=k*n;s+=1/k;} printf("e=%.5f",s); }