感悟网 导航

c语言编写一个程序,根据用户输入英文名和姓先显示姓氏,其后跟一个逗号,然后显示名的首字母: 如何用c语言编写一个程序,根据用户输入英文名和姓先显示姓氏,...

作者&投稿:校骆 (若有异议请与网页底部的电邮联系)
c语言编写一个程序,根据用户输入英文名和姓先显示姓氏,其后跟一个逗号,然后显示名的首字母:~

//先看这这代码, 这段代码的可读性不高...... 注释等会.

#include

int main(void)

{

char first_initial, ch; //这代码写得不好, 打眼一看以为是错的.....

printf("Enter a first and last name: ");

scanf(" %c", &first_initial); //这个是为了保存名字的第一个字符, 这样剩下的就只剩下名的后面部分和


while (getchar() != ' '); //这样它把名字给输入完了, 因为姓和名中间有空格

while ((ch = getchar()) != '
') //输入姓.


if (ch != ' ') //这句感觉没啥用, 因为姓不可能会有空格在里面.



putchar(ch);

printf(", %c.
", first_initial); //然后把刚刚保存到的名字的首字输出.

return 0;
// 我咋感觉这代码错了.....因为一个getchar后面紧跟一个putchar, 就相当于是, 你在控制台里输入一个1, 结果出来了俩1.

}

while
(getchar()
!=
'
')//获得名字
{

ch_1=getchar();
}
这里名字后续字符不需要
在while判断里面有getchar就可以了,不需要再循环体里面重复调用
直接
while (getchar() != ' ')//获得名字
{
}就可以了。

while (getchar() != ' ')//获得名字
{  
ch_1=getchar();
}

这里名字后续字符不需要 在while判断里面有getchar就可以了,不需要再循环体里面重复调用

直接

while (getchar() != ' ')//获得名字
{   

}

就可以了。



//先看这这代码, 这段代码的可读性不高...... 注释等会.

#include <stdio.h>

int main(void)

{

char first_initial, ch; //这代码写得不好, 打眼一看以为是错的.....

printf("Enter a first and last name: ");

scanf(" %c", &first_initial); //这个是为了保存名字的第一个字符, 这样剩下的就只剩下名的后面部分和

while (getchar() != ' '); //这样它把名字给输入完了, 因为姓和名中间有空格

while ((ch = getchar()) != '\n') //输入姓.

if (ch != ' ') //这句感觉没啥用, 因为姓不可能会有空格在里面.

putchar(ch);

printf(", %c.\n", first_initial); //然后把刚刚保存到的名字的首字输出.

return 0;
// 我咋感觉这代码错了.....因为一个getchar后面紧跟一个putchar, 就相当于是, 你在控制台里输入一个1, 结果出来了俩1.

}

	char first_name;
char ch_1;//名字
char ch_2;//姓氏

printf("Enter a first and last name:");
first_name=getchar();//获得名字的首字母

while (getchar() != ' ')//获得名字

ch_1=getchar();
}

while ((ch_2 = getchar()) != '
')//获得姓氏
{

printf("%c",ch_2);//输出姓氏 
}

printf(",");
putchar(first_name);//名字的首字母 
printf(".");

改了下你的,应该是这样了



可以简单地写。
#include <stdio.h>
int main(void)
{
char first_name[40],last_name[40];
printf("Enter a first and last name:");
scanf("%s %s", first_name, last_name); // 输入名 姓
printf("%s, %c\n", last_name, first_name[0]); //输出 姓 逗号 和 名的首字母
return 0;
}

//注意if和while的分号;空循环
#include <stdio.h>
void main()
{
   char ch,bh=ch=getchar();
   while((ch=getchar())!=' '); //get掉多余的单个字符
   while((ch=getchar())!='
') //开始从空格号读取并输入姓,遇回车结束循环
      if(ch!=' ')
         putchar(ch);
   printf(",%c.
",bh);
}


《编写一个程序,根据用户输入(1~7) 输出英文星期几》
答:void main(){ int num;while(1){ printf("输入1-7\n");scanf("%d",&num);while(1){ if (1<=num<=7) break;else printf("重新输入\n");scanf("%d",&num);} switch (num){ case 1: printf("monday");break;case 2: printf("tuesday"); break;case 3: printf("wednesday");...

《c语言编写一个程序,根据用户输入英文名和姓先显示姓氏,其后跟一个逗...》
答:while (getchar() != ' ')//获得名字{ }就可以了。

《编写一个C++程序,根据用户输入的举行矩形的长和宽,计算矩形的周长和面...》
答:double a, b, z, c;cin>>a>>b;//输入长和宽 z=a*b;//计算面积 c=2*(a+b);//计算周长 cout<<"矩形面积"<< z<<" "<<"矩形周长"<< c<<endl;}

《用C语言编写小学运算测试程序(要求完成10以内的加减运算,能根据用户输 ...》
答:while(1){ printf(" 欢迎进入小学生四则运算训练营\n\n1.10以内的四则运算\n0.退出\n\n");printf("请选择功能号(1/0):");scanf("%d",&p);getchar();if(p==1)M=10;if(p==0)exit(0);printf("请选择的是%d以内的四则运算个数:\n",M);scanf("%d",&num);int temp = ...

《求一个C语言程序:编写程序获取用户输入的三个小写字母的ASCII码以及...》
答:include <stdio.h>int main(){ char a[3]; printf("请连续输入3个小写字母,例如:abc :"); scanf("%[a-z]c",&a); //限制只能输入 a-z printf("%c 的ASCII = %d ,大写 = %c \n",a[0],a[0],a[0]-('a'-'A')); printf("%c 的ASCII = %d ,大...

《C语言 任务一 任务要求:编写一个程序,可以根据输入的数字打印不同的内容...》
答:include<stdio.h>main(){int i;while(1){scanf("%d",&i);switch(i){ case 0: printf("姓名,专业年级,性别\n");break; case 1: printf("姓名\n");break; case 2: printf("专业年级\n");break; case 3: printf("性别\n");break; default:printf("请重新输入\n"...

《模拟计算器的功能,编写一个程序,能够根据用户输入的运算符(+ - * /...》
答:{ double a,b,c;char ch,ch1;printf("这是一个简单的计算程序,只支持±整数和小数的加减乘除运算,请输入运算表达式,如:1+2,按回车键。\n");scanf("%lf%c%lf%c",&a,&ch,&b,&ch1);switch(ch){ case '+':c=a+b;printf("%lf+%lf=%.10lf\n",a,b,c);break;case '-':...

《C语言,编写一个程序,将0到15之间的数字作为用户输入,并将其转换为+等效...》
答:下面是一个将0到15之间的数字转换为等效的十六进制数字的C语言程序示例:include <stdio.h> int main(){ int decimal;printf("请输入一个0到15之间的数字:");scanf("%d", &decimal);switch(decimal){ case 0:printf("等效的十六进制数字为 0x0\n");break;case 1:printf("等效的十六进制...

《C语言:编写一个程序,接受一个用户输入的一行字符,按回车结束》
答:int main(){ char str[100],*p;int cout[4]={0};scanf("%[^\n]",&str);p=str;while(*p){ if((*p>='A'&&*p<='Z')||(*p>='a'&&*p<='z'))cout[0]++;else if(*p==' ')cout[1]++;else if(*p>='0'&&*p<='9')cout[2]++;else cout[3]++;p++;} printf("\n...

《用C语言解决这一道题: 编写一个程序,首先要求用户输入名字,然后要求...》
答:1、首先在Ubuntu的终端写出要实现的内容步骤,注释步骤可以帮助书写者理清思路。2、接下来我们运用Input方法,提示用户输入信息,input中的参数就是提示文字。3、接下来接收好用户输入的内容后,我们就可以运用用户输入的内容进行逻辑处理。4、下面我们运行程序,你会在界面中看到,终端提示你输入名字,不输入...

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网