鱼C论坛

 找回密码
 立即注册
查看: 1280|回复: 2

[已解决]用c怎么写

[复制链接]
发表于 2021-10-27 19:45:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
3) 编写程序,打印出所有的“abcd=(ab+cd)2”性质的数,例如3025=(30+25)2。
【要求】
(1)打印的数字占8个字符宽,每行显示3个
(2)使用for语句实现

4) 从键盘输入一个数n,打印高度为2*n-1行的菱形,例如:n=4时,打印图形如下:






【要求】
(1)打印的高度需要通过键盘输入的n控制
(2)使用for语句
最佳答案
2021-10-27 20:46:00
本帖最后由 jackz007 于 2021-10-27 22:04 编辑

【第3)题】:
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         int c , e                                             ;
  5.         for(c = 0 , e = 1000 ; e < 10000 ; e ++) {
  6.                 if((e / 100 + e % 100) * (e / 100 + e % 100) == e) {
  7.                         if(c && ! (c % 3)) printf("\n")       ;
  8.                         if(c % 3) printf(" ")                 ;
  9.                         printf("%7d" , e)                     ;
  10.                         c ++                                  ;
  11.                 }                              
  12.         }
  13.         printf("\n")                                          ;
  14. }
复制代码

        编译、运行实况:
  1. D:\00.Excise\C>g++ -o x x.c

  2. D:\00.Excise\C>x
  3.    2025    3025    9801

  4. D:\00.Excise\C>
复制代码

【第4)题】:
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         int b , i , j , n                                 ;
  5.         scanf("%d", & n)                                  ;
  6.         for(i = 1 ; i <= 2 * n - 1 ; i ++) {
  7.                 b = (i > n) ? 2 * n - i : i               ;
  8.                 for(j = n - b ; j > 0 ; j --) printf(" ") ;
  9.                 for(j = b * 2 - 1 ; j ; j --) printf("*") ;
  10.                 printf("\n")                              ;
  11.         }
  12. }
复制代码

        编译、运行实况:
D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x
5
    *
   ***
  *****
*******
*********
*******
  *****
   ***
    *

D:\00.Excise\C>x
6
     *
    ***
   *****
  *******
*********
***********
*********
  *******
   *****
    ***
     *

D:\00.Excise\C>x
7
      *
     ***
    *****
   *******
  *********
***********
*************
***********
  *********
   *******
    *****
     ***
      *

D:\00.Excise\C>
注意:以上图案与在 CMD 窗口中的视觉效果存在差异。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-27 20:04:00 | 显示全部楼层
本帖最后由 傻眼貓咪 于 2021-10-27 22:16 编辑
  1. #include <stdio.h>
  2. #include <stdbool.h>
  3. #include <math.h>

  4. bool solution(int n){
  5.     int a = n/1000;
  6.     int b = (n%1000)/100;
  7.     int x = (n%100)/10;
  8.     int y = n%10;
  9.     return n == pow((a*10+b)+(x*10+y), 2);
  10. }

  11. int main(){
  12.     for(int i = 1000; i < 10000; i++) if(solution(i)) printf("%d\n", i);
  13.     return 0;
  14. }
复制代码
  1. 2025
  2. 3025
  3. 9801
复制代码



  1. #include <stdio.h>

  2. void print(int n){
  3.     n = 2*n-1;
  4.     for(int i = 0; i < (n>>1); i++){
  5.         for(int j = (n>>1)-i-1; j >= 0; j--) printf(" ");
  6.         for(int j = 0; j < (i<<1)+1; j ++) printf("*");
  7.         printf("\n");
  8.     }
  9.     for(int i = 0; i < n; i++) printf("*");
  10.     printf("\n");
  11.     for(int i = (n>>1)-1; i >= 0; i--){
  12.         for(int j = (n>>1)-i-1; j >= 0; j--) printf(" ");
  13.         for(int j = 0; j < (i<<1)+1; j ++) printf("*");
  14.         printf("\n");
  15.     }   
  16. }

  17. int main()
  18. {
  19.     int n;
  20.     scanf("%d", &n);
  21.     print(n);
  22.     return 0;
  23. }
复制代码
  1. 5
  2.     *   
  3.    ***   
  4.   *****  
  5. *******
  6. *********
  7. *******
  8.   *****  
  9.    ***   
  10.     *
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-27 20:46:00 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2021-10-27 22:04 编辑

【第3)题】:
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         int c , e                                             ;
  5.         for(c = 0 , e = 1000 ; e < 10000 ; e ++) {
  6.                 if((e / 100 + e % 100) * (e / 100 + e % 100) == e) {
  7.                         if(c && ! (c % 3)) printf("\n")       ;
  8.                         if(c % 3) printf(" ")                 ;
  9.                         printf("%7d" , e)                     ;
  10.                         c ++                                  ;
  11.                 }                              
  12.         }
  13.         printf("\n")                                          ;
  14. }
复制代码

        编译、运行实况:
  1. D:\00.Excise\C>g++ -o x x.c

  2. D:\00.Excise\C>x
  3.    2025    3025    9801

  4. D:\00.Excise\C>
复制代码

【第4)题】:
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         int b , i , j , n                                 ;
  5.         scanf("%d", & n)                                  ;
  6.         for(i = 1 ; i <= 2 * n - 1 ; i ++) {
  7.                 b = (i > n) ? 2 * n - i : i               ;
  8.                 for(j = n - b ; j > 0 ; j --) printf(" ") ;
  9.                 for(j = b * 2 - 1 ; j ; j --) printf("*") ;
  10.                 printf("\n")                              ;
  11.         }
  12. }
复制代码

        编译、运行实况:
D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x
5
    *
   ***
  *****
*******
*********
*******
  *****
   ***
    *

D:\00.Excise\C>x
6
     *
    ***
   *****
  *******
*********
***********
*********
  *******
   *****
    ***
     *

D:\00.Excise\C>x
7
      *
     ***
    *****
   *******
  *********
***********
*************
***********
  *********
   *******
    *****
     ***
      *

D:\00.Excise\C>
注意:以上图案与在 CMD 窗口中的视觉效果存在差异。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-13 12:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表