本帖最后由 jackz007 于 2021-11-29 11:52 编辑
#include <stdio.h>
int main(void)
{
char yc ;
int b , c , d[100][100] , i , j , k , n , r ;
printf("请输入一个大于 2 的整数 : ") ;
scanf("%d" , & n) ;
for(k = 0 , i = 3 ; i < n + 1 ; k ++ , i ++) {
for(c = 1 , j = 0 ; j < 2 ; j ++) c *= i ;
b = c - i + 1 ;
for(d[k][0] = i , j = 0 ; j < i ; j ++) d[k][j + 1] = b + 2 * j ;
}
printf("是否打印所有式子 <y / n> ? ") ;
fflush(stdin) ;
yc = getchar() ;
if(yc = 'Y' || yc == 'y') {
for(i = 0 ; i < k ; i ++) {
for(r = 1 , j = 0 ; j < 3 ; j ++) r *= d[i][0] ;
printf("%d^3 == %d == %d + %d" , d[i][0] , r , d[i][1] , d[i][2]) ;
if(d[i][0] > 3) printf(" + ...") ;
printf(" + %d\n" , d[i][d[i][0]]) ;
}
}
}
编译、运行实况:D:\0002.Exercise\C>g++ -o x x.c
D:\0002.Exercise\C>x
请输入一个大于 2 的整数 : 12
是否打印所有式子 <y / n> ? y
3^3 == 27 == 7 + 9 + 11
4^3 == 64 == 13 + 15 + ... + 19
5^3 == 125 == 21 + 23 + ... + 29
6^3 == 216 == 31 + 33 + ... + 41
7^3 == 343 == 43 + 45 + ... + 55
8^3 == 512 == 57 + 59 + ... + 71
9^3 == 729 == 73 + 75 + ... + 89
10^3 == 1000 == 91 + 93 + ... + 109
11^3 == 1331 == 111 + 113 + ... + 131
12^3 == 1728 == 133 + 135 + ... + 155
D:\0002.Exercise\C>
如果问题已经解决,应该设置"最佳答案" |