注册 登录
编程论坛 C语言论坛

C语言循环

t17 发布于 2022-10-04 19:03, 1490 次点击
Input
矩阵的宽n(0<n<10)和长m(0<m<10)。

Output
以*号表示,请打印出矩形。
怎么写啊求大佬帮忙!
9 回复
#2
t172022-10-04 19:20
Samples
input
1 3
output
***
input
4 4
output
****
*  *
*  *
****
 
#3
md000000002022-10-05 22:14
程序代码:

for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
        printf("*");
    }
    printf("\n");
}
#4
apull2022-10-05 23:15
程序代码:
#include <stdio.h>

int main() {
    int n,m;
    scanf("%d%d",&n,&m);
    for (int i = 0; i < n; i++) {
        printf("*");
        for (int j = 0; j < m-2; j++) {
            printf("%c",(i==0||i==n-1)?'*':' ');
        }
        printf("*\n");
    }
    return 0;
}
#5
rjsp2022-10-08 09:15
程序代码:
#include <stdio.h>

int main( void )
{
    unsigned n, m; // n行 m列
    scanf( "%u%u", &n, &m );

    for( unsigned i=0; i!=n*(m+1); ++i )
    {
        unsigned r = i/(m+1);
        unsigned c = i%(m+1);
        putchar( " *\n"[(r==0||c==0||r+1==n||c+1>=m)+(c==m)] );
    }
}


#6
不会游泳的虾2022-10-08 11:00
供参考:
程序代码:
#include <stdio.h>
int main()
{
    int i, j, n, m;
    scanf("%d%d", &n, &m);
    for (i = 0; i < n; i++) {
        for (j = 0; j < m; j++) {
            if (n == 1 || m == 1)
                printf(i % n == 0 || j % m == 0 ? "*" : " ");
            else
                printf(i % (n - 1) == 0 || j % (m - 1) == 0 ? "*" : " ");
        }
        printf("\n");
    }
    return 0;
}
#7
ssl0022022-10-09 11:46
回复 5楼 rjsp
只有本站会员才能查看附件,请 登录

运行出来是这个
#8
rjsp2022-10-09 13:17
以下是引用ssl002在2022-10-9 11:46:31的发言:


运行出来是这个

不可能呀,我本地运行结果是
程序代码:

5 6
******
*    *
*    *
*    *
******


就在这个页面上,你把鼠标移动到我的代码上,代码区域右上角出现“复制”“运行”两个按钮。你点击“运行”按钮,然后输入 5 6 后,结果如下:
只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2022-10-9 13:18编辑过]

#9
ssl0022022-10-09 14:55
回复 8楼 rjsp
估计我敲错了
#10
t172022-10-15 15:21
回复 4楼 apull
int i = 0; i < n; i++
没毛病为什么行号i不从1开始?

1