当前位置:首页 » 编程语言 » c语言怎么分开姓名
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言怎么分开姓名

发布时间: 2023-03-24 04:46:04

1. 用c语言将4个学生的姓名按拼音首字母从大到小排序并显示.

一个学生的这样搞:

姓名分开,成两个字符串。

分别排序,形成新的字符串,然后输出。


其他学生一样的方法。

#include<stdio.h>
#include<string.h>

#defineSTU_NAME_MAX_LEN20
charstu_name[][STU_NAME_MAX_LEN]=
{
"ikercassilas",
"luissuarez",
"cristianoronaldo",
"lionlmessi"
};

voidmain()
{
intstu_count=sizeof(stu_name)/sizeof(stu_name[0]);
inti,j,k;
for(i=0;i<stu_count;i++)
{
charfirstname[STU_NAME_MAX_LEN];
charfamilyname[STU_NAME_MAX_LEN];
intblankpos=0;

//将姓名分开
memset(firstname,0,STU_NAME_MAX_LEN);
memset(familyname,0,STU_NAME_MAX_LEN);
for(j=0;j<sizeof(stu_name[i]);j++)
{
if(stu_name[i][j]=='')
{
blankpos=j;
break;
}
}
memcpy(firstname,&stu_name[i][0],blankpos);
memcpy(familyname,&stu_name[i][blankpos+1],sizeof(stu_name[i])-blankpos-1);
printf("old:%s%s ",firstname,familyname);

//排序
for(j=0;firstname[j]!='';j++)
{
for(k=j+1;firstname[k]!='';k++)
{
if(firstname[j]<firstname[k])
{
charctemp=firstname[j];
firstname[j]=firstname[k];
firstname[k]=ctemp;
}
}
}
for(j=0;familyname[j]!='';j++)
{
for(k=j+1;familyname[k]!='';k++)
{
if(familyname[j]<familyname[k])
{
charctemp=familyname[j];
familyname[j]=familyname[k];
familyname[k]=ctemp;
}
}
}
printf("new:%s%s ",firstname,familyname);
}
}

2. C语言以“教学号姓名”作为输入,把班级学号姓名拆分出来,以学号为种子产生一个1-10之间的随机数m

#include <stdio.h>

#include <stdlib.h>

int main()

{

unsigned long long id;

char name[100];

scanf("%llu%s",&id,name);

printf("%llu %s ",id,name);

srand(id);

printf("%d ",rand()%10+1);

return 0;

}

3. C语言如何分割字符串

可以写一个分割函数,用于分割指令,比如cat a.c最后会被分割成cat和a.c两个字符串、mv a.c b.c最后会被分割成mv和a.c和b.c三个字符串。

参考代码如下:

#include<stdio.h>
#include<string.h>
#defineMAX_LEN128
voidmain()
{
inti,length,ct=0,start=-1;
charinputBuffer[MAX_LEN],*args[MAX_LEN];
strcpy(inputBuffer,"mva.cb.c");
length=strlen(inputBuffer);
for(i=0;i<=length;i++){
switch(inputBuffer[i]){
case'':
case' ':/*argumentseparators*/
if(start!=-1){
args[ct]=&inputBuffer[start];/*setuppointer*/
ct++;
}
inputBuffer[i]='';/*addanullchar;makeaCstring*/
start=-1;
break;
case'':/*shouldbethefinalcharexamined*/
if(start!=-1){
args[ct]=&inputBuffer[start];
ct++;
}
inputBuffer[i]='';
args[ct]=NULL;/*nomoreargumentstothiscommand*/
break;
default:/*someothercharacter*/
if(start==-1)
start=i;
}
}
printf("分解之后的字符串为: ");
for(i=0;i<ct;i++)
printf("%s ",args[i]);
}

4. C语言同时定义2个字符串的时候 第一个的名字输出后 会跟着就输出后一个 求大神指点 怎么分开啊

charc[4];

数组的空间绝卜不够, 导明宏肆致溢出! 一个汉子要用2个字节的话, 而没有存放''的地方激轿。

因此将数组空间扩大即可。

5. 请用c语言编程实现在计算机屏幕上分两行输出你的班级学号和姓名.

#include<stdio.h>
void
main(){
printf("班级:2015级计算机应用1班\n");
printf("学号:123456789
\t姓名:张三");
}
很简单,就两个输出语句,\n意思就是换行,\t是空8个字符的位置

6. 用c语言c++ 将你的学号,姓名,专业分别放在3个字符数组,使用字符串连接和求字符串长度的函数连接

1、实际上就首敬是实现strcat这个字符串库函数,在vc自带的crt源码或者linux平台的glibc库中都有strcat的源码,自己可以查阅参考,看看库开亏芹让发者是如何写代码的,对于学习C语言非销局常有用。
2、示例
#include <stdio.h>

char *strcat(char *str1, char *str2)
{
if((str1==NULL)||(str2==NULL)) throw "Invalide arguments!";
char *pt = str1;
while(*str1!='\0') str1++;
while(*str2!='\0') *str1++ = *str2++;
*str1 = '\0';
return pt;
}

int main()
{
char a[]= "markyuan";
char b[]= "yyyyy";
char *cat = strcat(a,b);
printf("%s\n",cat);
return 0;
}

7. C语言文字列怎么把姓和名区分开 比如说 输入姓名 ZHANG SAN 显示结果 姓 ZHANG 名 SAN

scanf("%s %s",xing,ming);
printf("姓:%s 名:%s",xing,ming);
c中的字符串做逗颤和pascal的不一样会以空格为分隔符
如果想要纯败读入一整行
gets(str);
scanf("%[^\n]",str);
两种方法指枝

8. 用C语言编写姓名、学号、班级

#include<stdio.h>

struct st{//定义一个结构体

char a[11];//姓名

int b;//学号

int c;//班级

};

int main()

{

struct st s[111];//这是对结构体的引用;数组s的每一个单位都包含结构体中所有成员;

int n;

scanf("%d",&n);//n个学生;

for(int i=0;i<n;i++)

{

scanf("%s%d%d",s[i].a,&s[i].b,&s[i].c);//输入n个学生的三个信息;

}

//中间还可以根据需求加入代码,增加功能;

printf(" ");

for(int i=0;i<n;i++)

{

printf("姓名:%s 学号:%d 班级:%d ",s[i].a,s[i].b,s[i].c);//输出信息;

}

return 0;

}

希望能帮到你,望采纳;

9. 编写一个c程序实现使用printf函数分三行输出自己的基本信息姓名性别学校

代码如下:
在c语言中,【\n】表示换行
#include<stdio.h>
int main(void){
printf("姓名\n性别\n学校\n");
return 0;
}

10. 分两行输出学号和姓名c语言

就是野乱随机参赛随机数,作敏脊弯为下标,访问数组或结构体。

#include <stdio.h>
#include <time.h>
int main(void)
{
printf("%d\n"桥闷, subscript(128));
return 0;
}
/// mod 为数组或结构体的最大值
int subscript(int mod)
{
srand((unsigned)time(NULL));
int index = rand() % mod;
return index;
}