C 打印出前八个数字
创建一个程序,打印出前八个[8]。必须完成输出 在C 打印出前八个数字,c,C,创建一个程序,打印出前八个[8]。必须完成输出 在main()函数中 以下是我编写的代码: #include <stdio.h> #include <conio.h> main() { int automorphic[8]; int n; printf("\t\t\tAUTOMORPHIC\n\n\n"); for(n=1; n<8; n++ ){ if (n*n%10==n || n*n%100==n || n*n%1000==n);
main()
函数中
以下是我编写的代码:
#include <stdio.h>
#include <conio.h>
main() {
int automorphic[8];
int n;
printf("\t\t\tAUTOMORPHIC\n\n\n");
for(n=1; n<8; n++ ){
if (n*n%10==n || n*n%100==n || n*n%1000==n);
}
printf("\t%d\n\n", automorphic [n]);
getch();
return 0;
}
#包括
#包括
main(){
int自守[8];
int n;
printf(“\t\t\tAUTOMORPHIC\n\n”);
对于(n=1;n来说,你很接近,但不完全接近
您只测试1到8之间的整数的自守属性。问题是询问前8个自守数,而不是哪些小于8的数是自守的
如果条件为true,则您的if
语句不会起任何作用
您正在打印automorphic[n]
的值,但不在automorphic
数组中设置任何值。此外,在printf
执行时,n
将为8,因为for
循环已经完成
因为:
您只检查数字1到7(此范围内只有数字1、5和6是自守的)
您没有将数字存储在数组中
您只打印数组的元素7(始终为0)
你需要期待比这更大的数字
此外,自守数从0开始,而不是从1开始
我认为在if
行中应该有I
s,而不是n
s。@trogdor谢谢你这么做!:-)只是为了正确性,自形[7]是不确定的(不像你说的那样总是0)因为它是在堆栈上分配的。只有静态变量被初始化为0。并且您的算法假设第8个第一自同构是8。您应该解释什么是自同构数。问题和答案应该对其他读者有用,而不仅仅是对提问者有用。不要将问题编辑为零就因为你的问题已经解决了。@Waht:我已经回滚了你的编辑-不要因为你有了解决方案就销毁你的问题。我们的整个想法是把问题及其答案留给下一个可能会出现类似问题的人。主持人:请忽略我在这个问题上的标记。我应该简单地滚动back编辑,就像@Talonmes所做的那样。
int main() {
long automorphic [8];
long i;
int n;
printf("\t\t\tAUTOMORPHIC\n\n\n");
i= 0 ;
n= 0 ;
while( n < 8 ) {
if( i*i%10==i || i*i%100==i || i*i%1000==i || i*i%10000==i || i*i%100000==i ) {
automorphic[n]= i ;
n++;
}
i++;
}
for(n= 0 ; n < 8 ; n++ ) {
printf("\t%d\n\n", automorphic[n] );
}
getch();
return 0;
}
0
1
5
6
25
76
376
625