當前位置:首頁 » 編程語言 » 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;
}