请教C语言高手

向大家请教一个问题:
编写一个程序,要求输入名字,并执行以下操作:
a. 把名字引在双引号中打印出来.
b. 在宽度为20个字符的字段内打印名字,并且整个字段引在引号内.
c. 在宽度为20个字符的字段的左端打印名字,并且整个字段引在引号内.
d. 在比名字宽3个字符的字段内打印它.

#include<stdio.h>void main(){ int i,k=0; char name[25]; scanf("%s",name); printf("\"%s\"\n",name); printf("\'%20s\'\n",name);//20为定义输出的最少宽度,如果数组实际宽度超出20就自动增加 printf("\'%-20s\'\n",name);//-表示左对齐,不加-,系统默认右对齐 printf("%-s~~~\n",name);//~表示空格 }
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-05-04
#include<stdio.h>main(){char name[25],*p=name;scanf("%s",name);printf("/"%s/"/n",name);printf("/'%20s/'/n",name);printf("/'%-20s/'/n",name); }本回答被网友采纳
第2个回答  2018-07-28
#include <stdio.h>
#include <string.h>
int main()
{
int k_1, k_2, k_3; //k表示宽度
char m[10], x[10]; //m表示名,x表示姓。这里定义10的宽度,是为了节约空间
printf("Please enter your \"ming\": ");
scanf("%s", m);
printf("Please enter your \"xing\": ");
scanf("%s", x);
printf("\"%s %s\"\n", m, x);
k_1 = 20 - strlen(x) - 1;
printf("\"%*s %s\"\n", k_1, m, x);
k_2 = 20 - strlen(m) - 1;
printf("\"%-s %-*s\"\n", m, k_2, x);
k_3 = strlen(m) + 3;
printf("\"%*s %s\"\n", k_3, m, x);
return 0;
}
以上是个人的想法。这和别处查找出来参考答案都不一样,但我认为这才是正确答案。
望采纳,谢谢!

我想学习C语言。求高手指点应该怎么做?
1、学习C语言,要从入门到精通,需要读哪些书(从简单的到难的排序,越详细越好,最好都能注释下选择这本书的理由)?入门阶段:还是老谭那本。理由:虽然不能说它写得有多好,但是你现在要做的是入门,要快速的掌握c的基本语法,这本书很好理解,能够让你在最短的时间内大致掌握这门语言的概更。

请教C语言高手推荐学习C语言的书籍??
新手入门推荐谭浩强的《C语言程序设计》,不过这本书仅限入门,内容易懂,但是代码写法不够规范始终是个问题 练习书籍推荐一本上机指导即可 还有本不错的书叫《C语言百问百答》,答疑解惑是很不错的 如果觉得学的入门了,推荐看《C语言从入门到精通》以及《C和指针》系列的书籍 编程小白拍爪,有误之...

请教C语言高手,很多题目不会做。。
4,选d stringlen计算的是“\\0”前的字符长度,sizeof计算的是整个数组长度 5,选c printf("%s\\n",strp[3]+2);表示从整个数组中strp[3](即第四个元素)的第2个子元素开始连续输出以后所有strp[3】的子元素,若改为printf("%s\\n",strp[3]+5);则输出空格,因为“ddddd”一共5个元素 10...

c语言 请高手指教~~~
静态变量先编译。然后是main()函数,依次编译。i是全局变量fun()函数会影响,其他变量各管各的。这些东西书上都有,好好看书

C语言菜鸟,请教各位高手下面的程序哪里出了问题?
long int a;int p,s;int b1,b2,b3,b4,b5;scanf("%ld",&a);if(a>=1000000){ p = (a-1000000)*0.01;a = 999999;} p=0;s=a\/100000;switch(s){ case 9:case 8:case 7:case 6:p += (a-600000)*0.015;a = 599999;case 5:case 4:p += (a-400000)*0.03;a = ...

求会c语言的编程高手教教我怎么快速入门c语言啊,我想学,谢谢
方法只有一个,那就是多学习,先拿本谭浩强的教材好好研究一下,有问题及时请教其他人,多思考、多动脑、多上机操作,上机操作时多按自己的思路尝试进行修改和扩充。有了问题及时解决,并做到举一反三。另外,有了一定基础后,再看一些其他相关书,每看一遍、每看一本都会有新的收获的!语言的学习是...

请教C语言高手教教我:18\/4*sqrt(4.0)\/8的计算顺序和最后的资料型别...
请教C语言高手教教我:18\/4*sqrt(4.0)\/8的计算顺序和最后的资料型别! 从左到右,最后型别为double,因为sqrt(4.0)返回的是double型别; 注:有高优先顺序的型别参与,计算结果就自动转化为高优先顺序型别; 18\/4由于都是整形,所以结果为4;4*sqrt(4.0)=8.0;8.0\/8=1.0,最后等于...

C语言的问题,高手快进来啊
1、include <stdio.h> main(){ int i,n, sum = 0;printf("请输入一个四位数:");scanf("%d", &n);for(i=1;i<=4;i++){ sum += n % 10;n \/= 10;} printf("每一位数字相加和为:%d\\n", sum);return 0;} 2 、include <stdio.h> main(){ int a,b;scanf("%d %d"...

C语言不会,求高手,我是菜鸟
你说的对。。。include <stdio.h> main(){ char b1,b2,b3,b4,b5;b1='A';b2='B';b3='C';b4='D';b5='E';printf("b1=%c\\nb2=%c\\nb3=%c\\nb4=%c\\nb5=%c\\n",b1,b2,b3,b4,b5);b1=b1+4;b2=b2+4;b3=b3+4;b4=b4+4;b5=b5+4;printf("b1=%c\\nb2=%c\\nb3=%c...

在下是C语言初学者,想请教高手一个问题?(有关对奇数方魔阵如何用动态...
voidmake(int);main(){ intn;clrscr();printf("\\nPleaseenternthenumber:");scanf("%d",&n);make(n);getch();} voidmake(intn){ if(n%2){ inti,j,x,y;int*array=(int*)malloc(sizeof(int)*n*n);short*flag=(short*)malloc(sizeof(short)*n*n);for(i=0;i<n;i++){ fo...

相似回答