C语言怎么实现将输入的字符居中显示?
5个回答
展开全部
给你一个函数,随意控制输入输出的位置,可以先打印下一行,再在上一行输入。
void setxy(int x, int y) //设置输入,输出的位置,也就是当前光标位置
{
COORD coord = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
void getxy(int* x, int* y) //获取当前光标位置,调用:getxy(&x,&y);
{
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
COORD coordScreen = {0, 0};
CONSOLE_SCREEN_BUFFER_INFO csbi;
if (GetConsoleScreenBufferInfo(hConsole, &csbi))
{
*x=csbi.dwCursorPosition.X;
*y=csbi.dwCursorPosition.Y;
}
}
//要加头文件 #include "windows.h"
展开全部
/**
*c语言练习程序
*时间:2016/1/10
*环境:vs2013
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
int main(void){
//利用printf右对齐
//让这个输出占用控制台宽度值的一半减去字符串一半长度的内容
//控制台宽度可以右键左上角,属性查看,默认是80所以下面的50改为40
//我的是100,因为我自己改过
//你可打印一下s1,就明白我的想法了
char s[] = "hell0000000000000000000000000000!";
char s1[10];
sprintf_s(s1,"%%%ds",50+(int)strlen(s)/2);
printf(s1, s);
getchar();
return 0;
}
//原来是输入啊,换个tc写,包含conio.h,里面有个gotoxy()。其他没办法了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言对格式输出支持不是很好,因为一般C语言不会做太复杂的显示 ,最多也就打印一些调试信息, 你可以printf 格式输出符来试试
如: printf("%-100s\n", "adfdfadgda"); 可以百度一下
如: printf("%-100s\n", "adfdfadgda"); 可以百度一下
更多追问追答
追问
输入的时候要居中怎么办?
追答
用什么输入, linux shell终端吗?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按以下代码的思路就能实现:
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
char str[20];
printf("%55s","Please input a string: ");
scanf("%s",str);
printf("%53s\n",str);
return 0;
}
更多追问追答
追问
程序是输出的时候居中,我要的是输入的时候居中,可以吗?
追答
那就这样:
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
char str[20];
printf("Please input a string:\n%*.*s",40,1,"");
scanf("%s",str);
printf("%s\n",str);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询