亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C語言問題 結構體

C語言問題 結構體

元芳怎么了 2019-05-23 11:21:01
一道學校留的題目請定義一個描述學生基本信息的結構,包括姓名,學號,籍貫,身份證號,年齡,家庭住址,性別,聯系方式等。并定義一個結構體數組。編程:a)編寫函數input(),輸入基本信息(3~5條記錄);b)編寫函數print(),輸出全體記錄信息;c)編寫函數search(),檢索一個指定的學生信息并返回,由主函數打印到屏幕上?!据斎胄问健繉W生數量NN個學生的姓名學號籍貫身份證號年齡家庭住址性別聯系方式要查找的學生姓名【輸出形式】N個學生的姓名,學號,籍貫,身份證號,年齡,家庭住址,性別,聯系方式以及要查找的學生的姓名,學號,籍貫,身份證號,年齡,家庭住址,性別,聯系方式【樣例輸入】3zhang19920101beijing25514119920101565625beijingm12114145654li18850202liaoning21021218850202030314liaoningw14156865959wang121tianjin25124265525220tianjinm12542542zhang【樣例輸出】zhang,19920101,beijing,255141199201015656,25,beijing,m,12114145654li,18850202,liaoning,210212188502020303,14,liaoning,w,14156865959wang,121,tianjin,251242655252,20,tianjin,m,12542542zhang,19920101,beijing,255141199201015656,25,beijing,m,12114145654我的代碼:#include#include#includestructstudent{charname[20];charnum[15];charid[20];intage;charaddress[100];charaddresss[100];charsex;charphone[15];}stu[5];voidinput(structstudentstu[],intn);voidprint(structstudentstu[],intn);voidsearch(structstudentstu[],charname[],intn);intmain(){charname[20];intn;scanf("%d",&n);input(stu,n);scanf("%s",name);print(stu,n);search(stu,name,n);system("pause");return0;}voidinput(structstudentstu[],intn){for(inti=0;i
查看完整描述

2 回答

?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

你應該從輸出看出來點端倪吧。有沒有發現你打印出來的sex是一個空格?說明你輸入的也是空格。那問題出在哪里呢?
在C中,scanf的%s會忽略前置空白符,遇到空白符終止;而%c就是讀一個字符,這個字符可以是空白符,你給的輸入示例中zhang19920101beijing25514119920101565625beijingm12114145654,%s讀完第二個beijing之后,%c讀的不是m而是beijing后面的空格。
解決方法就是:輸入示例既然是一行一行的,那你就一行一行地讀吧
                            
查看完整回答
反對 回復 2019-05-23
  • 2 回答
  • 0 關注
  • 652 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號