c语言如何是实现无回显的输入一个整形的数字并且不要换行

我想输入一个3乘3的行列式,每个整形都输入到数组a[i][j]中... 我想输入一个3乘3的行列式,每个整形都输入到数组a[i][j]中 展开
 我来答
金色潜鸟
推荐于2018-04-12 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5696万
展开全部
用 getch() 输入。数与数之间用1个空格分隔,最后一个数 后面加一空格 或 回车。
用 char str[300] 存放输入键。用sscanf() 转为int.

#include<stdio.h>
#include<conio.h>
main()
{
char str[300];
int x[3][3],i=0,j,n=0;
while(1){
str[i] = getch();
if (str[i]==' ') n++;
if (str[i]=='\n') break;
if (n>=9) break;
i++;
}
sscanf(str,"%d %d %d %d %d %d %d %d %d",
&x[0][0],&x[0][1],&x[0][2],
&x[1][0],&x[1][1],&x[1][2],
&x[2][0],&x[2][1],&x[2][2]);
for (j=0;j<3;j++) {
for (i=0;i<3;i++) printf("%d ",x[j][i]);
printf("\n");
}
return 0;
}
空雪梦见
2013-12-09 · TA获得超过5597个赞
知道大有可为答主
回答量:2522
采纳率:75%
帮助的人:1199万
展开全部
#include <Windows.h>
#include <stdio.h>
int main()
{
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
DWORD consoleMode;
GetConsoleMode(hStdin, &consoleMode);
SetConsoleMode(hStdin, consoleMode & (~ENABLE_ECHO_INPUT));

int m[3][3];
int i, j;
for(i = 0; i < 3; ++i)
for(j = 0; j < 3; ++j)
scanf("%d", &m[i][j]);

SetConsoleMode(hStdin, consoleMode);

for(i = 0; i < 3; ++i) {
for(j = 0; j < 3; ++j)
printf("%2d", m[i][j]);
putchar('\n');
}
return 0;
}

无回显,不过数字间的空格还是要的。输入完最后要一个回车

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shengwei2015
2013-12-09
知道答主
回答量:36
采纳率:0%
帮助的人:6.7万
展开全部
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
{
scanf("%d\t",a[i-1][j-1]);
if(j%3==0)
printf("\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式