鱼C论坛

 找回密码
 立即注册
查看: 1433|回复: 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)题】:
#include <stdio.h>

int main(void)
{
        int c , e                                             ;
        for(c = 0 , e = 1000 ; e < 10000 ; e ++) {
                if((e / 100 + e % 100) * (e / 100 + e % 100) == e) {
                        if(c && ! (c % 3)) printf("\n")       ;
                        if(c % 3) printf(" ")                 ;
                        printf("%7d" , e)                     ;
                        c ++                                  ;
                }                               
        } 
        printf("\n")                                          ;
}
        编译、运行实况:
D:\00.Excise\C>g++ -o x x.c

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

D:\00.Excise\C>
【第4)题】:
#include <stdio.h>

int main(void)
{
        int b , i , j , n                                 ;
        scanf("%d", & n)                                  ;
        for(i = 1 ; i <= 2 * n - 1 ; i ++) {
                b = (i > n) ? 2 * n - i : i               ;
                for(j = n - b ; j > 0 ; j --) printf(" ") ;
                for(j = b * 2 - 1 ; j ; j --) printf("*") ;
                printf("\n")                              ;
        }
}
        编译、运行实况:
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 编辑
#include <stdio.h>
#include <stdbool.h>
#include <math.h>

bool solution(int n){
    int a = n/1000;
    int b = (n%1000)/100;
    int x = (n%100)/10;
    int y = n%10;
    return n == pow((a*10+b)+(x*10+y), 2);
}

int main(){
    for(int i = 1000; i < 10000; i++) if(solution(i)) printf("%d\n", i);
    return 0;
}
2025
3025
9801

#include <stdio.h>

void print(int n){
    n = 2*n-1;
    for(int i = 0; i < (n>>1); i++){
        for(int j = (n>>1)-i-1; j >= 0; j--) printf(" ");
        for(int j = 0; j < (i<<1)+1; j ++) printf("*");
        printf("\n");
    }
    for(int i = 0; i < n; i++) printf("*");
    printf("\n");
    for(int i = (n>>1)-1; i >= 0; i--){
        for(int j = (n>>1)-i-1; j >= 0; j--) printf(" ");
        for(int j = 0; j < (i<<1)+1; j ++) printf("*");
        printf("\n");
    }    
}

int main()
{
    int n;
    scanf("%d", &n);
    print(n);
    return 0;
}
5
    *    
   ***   
  *****  
 *******
*********
 *******
  *****  
   ***   
    * 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

int main(void)
{
        int c , e                                             ;
        for(c = 0 , e = 1000 ; e < 10000 ; e ++) {
                if((e / 100 + e % 100) * (e / 100 + e % 100) == e) {
                        if(c && ! (c % 3)) printf("\n")       ;
                        if(c % 3) printf(" ")                 ;
                        printf("%7d" , e)                     ;
                        c ++                                  ;
                }                               
        } 
        printf("\n")                                          ;
}
        编译、运行实况:
D:\00.Excise\C>g++ -o x x.c

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

D:\00.Excise\C>
【第4)题】:
#include <stdio.h>

int main(void)
{
        int b , i , j , n                                 ;
        scanf("%d", & n)                                  ;
        for(i = 1 ; i <= 2 * n - 1 ; i ++) {
                b = (i > n) ? 2 * n - i : i               ;
                for(j = n - b ; j > 0 ; j --) printf(" ") ;
                for(j = b * 2 - 1 ; j ; j --) printf("*") ;
                printf("\n")                              ;
        }
}
        编译、运行实况:
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-9-22 19:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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