用结构体输入两个学生的学号、姓名和成绩,输出 成绩较高的学生的学号、姓名和成绩。 定义结构体,包含三个成员学号,姓名,成绩,输入两个学生的学号...

\u8f93\u5165\u4e24\u4e2a\u5b66\u751f\u7684\u5b66\u53f7\u3001\u59d3\u540d\u548c\u6210\u7ee9\uff0c\u8f93\u51fa\u6210\u7ee9\u8f83\u9ad8\u7684\u5b66\u751f\u7684\u5b66\u53f7\u3001\u59d3\u540d\u548c\u6210\u7ee9\u3002

#include
#include
struct student{ char id[10] ;
char name[20];
int score;};
void main(){
student s1,s2,s3;
cout<<"\u8f93\u5165\u5b66\u751f\u4e00\u5b66\u53f7 \u59d3\u540d \u6210\u7ee9\n";
cin>>s1.id>>s1.name>>s1.score;
cout<<"\u8f93\u5165\u5b66\u751f\u4e8c\u5b66\u53f7 \u59d3\u540d \u6210\u7ee9\n";
cin>>s2.id>>s2.name>>s2.score;
s3=s1.score>s2.score?s1:s2;
cout<<"\u6210\u7ee9\u8f83\u9ad8\u8005\uff1a\n"<<s3.id<<'\t'<<s3.name<<'\t'<<s3.score<<'\n';}


\u9ad8\u8003\u91cd\u8981\u6027\uff1a
\u9ad8\u8003\u53ea\u662f\u4eba\u751f\u6781\u77ed\u7684\u4e00\u4e2a\u7247\u6bb5\uff0c\u4f46\u5b83\u662f\u4e00\u4e2a\u91cd\u8981\u7247\u6bb5\u3002\u4e0d\u53ef\u5426\u8ba4\uff0c\u5bf9\u4e8e\u4e00\u4e9b\u793e\u4f1a\u5e95\u5c42\u800c\u8a00\uff0c\u9ad8\u8003\u662f\u4ed6\u4eec\u6539\u53d8\u547d\u8fd0\u6700\u91cd\u8981\u7684\u4e00\u6b21\u673a\u4f1a\u3002
\u867d\u7136\u9ad8\u8003\u4e0d\u53ef\u80fd\u51b3\u5b9a\u4eba\u7684\u4e00\u8f88\u5b50\uff0c\u65e5\u540e\u7684\u4eba\u751f\u8fd8\u8981\u9762\u5bf9\u65e0\u7a77\u65e0\u5c3d\u7684\u8003\u9a8c\uff0c\u4f46\u5728\u8fd9\u6837\u4e00\u4e2a\u516c\u5e73\u7ade\u6280\u7684\u8d77\u70b9\uff0c\u672a\u6765\u4eba\u751f\u80fd\u591f\u6253\u5f00\u4e00\u6247\u65b0\u7684\u5927\u95e8\uff0c\u8fd9\u662f\u7edd\u5bf9\u5e73\u7b49\u7684\u673a\u4f1a\uff0c\u5bf9\u6bcf\u4e00\u4e2a\u4eba\u90fd\u4e0d\u5b58\u5728\u5dee\u522b\u3002
\u9ad8\u8003\u4e0d\u4ec5\u662f\u4e00\u573a\u8003\u8bd5\uff0c\u4e5f\u4e3a\u4eba\u624d\u664b\u5347\u3001\u793e\u4f1a\u9009\u62d4\u5efa\u7acb\u4e86\u76f4\u8fbe\u901a\u9053\u3002\u6559\u80b2\u9009\u62d4\uff0c\u672c\u8d28\u4e0a\u662f\u5bf9\u4eba\u7684\u53d1\u73b0\uff0c\u6ca1\u6709\u9ad8\u8003\u8fd9\u6837\u7684\u9009\u62d4\u673a\u5236\uff0c\u5404\u79cd\u56e0\u7d20\u90fd\u53ef\u80fd\u63ba\u6742\u8fdb\u6765\u3002
\u5f71\u54cd\u7740\u4e00\u4e2a\u4eba\u7684\u6559\u80b2\u524d\u9014\uff0c\u800c\u9ad8\u8003\u63d0\u4f9b\u4e86\u4e00\u4e2a\u516c\u5e73\u7ade\u6280\u7684\u5e73\u53f0\uff0c\u8eab\u4efd\u3001\u5730\u4f4d\u3001\u8d22\u5bcc\u7684\u4f5c\u7528\u7edf\u7edf\u5c4f\u853d\uff0c\u77e5\u8bc6\u5b66\u4e60\u6210\u679c\u5f97\u5230\u76f4\u63a5\u53cd\u6620\uff0c\u4e5f\u4f7f\u5f97\u4e07\u5343\u5b66\u5b50\u7684\u6559\u80b2\u664b\u5347\u901a\u9053\u53d8\u5f97\u900f\u660e\uff0c\u793e\u4f1a\u664b\u5347\u7684\u673a\u4f1a\u4e5f\u662f\u4eba\u4eba\u5e73\u7b49\u3002
\u4f5c\u4e3a\u4e00\u79cd\u516c\u5e73\u9009\u62d4\u673a\u5236\uff0c\u9ad8\u8003\u662f\u4e00\u4e2a\u6807\u6746\u3002\u4ee5\u516c\u5e73\u516c\u6b63\u4e3a\u4fdd\u8bc1\uff0c\u516c\u5f00\u5316\u3001\u6807\u51c6\u5316\u64cd\u4f5c\uff0c\u8fd9\u6837\u7684\u9009\u62d4\u673a\u5236\u51fa\u73b0\u5728\u516c\u52a1\u5458\u8003\u8bd5\u3001\u4f01\u4e1a\u62db\u8058\uff0c\u4ee5\u53ca\u8bb8\u8bb8\u591a\u591a\u7684\u4eba\u624d\u9009\u62d4\u4e2d\u3002
\u8003\u8bd5\u4e4b\u5916\uff0c\u8bf8\u5982\u653f\u52a1\u8003\u8bc4\u3001\u7ee9\u6548\u8003\u6838\u7b49\u7b49\uff0c\u5f80\u5f80\u4f53\u73b0\u4e86\u4e0e\u4e4b\u76f8\u901a\u7684\u601d\u7ef4\u3002\u5728\u8fd9\u4e2a\u610f\u4e49\u4e0a\uff0c\u9ad8\u8003\u6210\u4e3a\u4e86\u4e00\u79cd\u793e\u4f1a\u89c4\u8303\u7684\u793a\u8303\uff0c\u4e00\u4e2a\u5904\u5904\u8bb2\u89c4\u8303\u7684\u793e\u4f1a\uff0c\u624d\u4f1a\u4e3a\u771f\u624d\u5b9e\u5e72\u5927\u5f00\u65b9\u4fbf\u4e4b\u95e8\uff0c\u800c\u4e0d\u662f\u8bb2\u4eba\u60c5\u3001\u8bb2\u5173\u7cfb\uff0c\u4ee5\u53ca\u79cd\u79cd\u9760\u52aa\u529b\u594b\u6597\u65e0\u6cd5\u83b7\u53d6\u7684\u529b\u91cf\u3002

scanf("%d,%s,%f",&student1.num,&student1.name,&student1.score); scanf("%d,%s,%f",&student2.num,&student2.name,&student2.score); \u4e0a\u9762\u8fd92\u53e5\u4e0d\u5bf9\uff0c\u53ef\u4ee5\u7f16\u8bd1\u6210\u529f\uff0c\u4f46\u662f\u4fdd\u5b58\u7684\u503c\u662f\u9519\u8bef\u7684\uff0c\u56e0\u4e3a\u5b83\u4f1a\u628a\u201c\u9017\u53f7\u201d\u5f53\u4f5c\u5b57\u7b26\u9001\u7ed9\u4e86%s,\u6240\u4ee5\u6700\u540e\u9762\u7684%d\u6ca1\u6709\u8f93\u5165\u6570\u636e\u3002\u53ef\u4ee5\u6362\u6210\u7a7a\u683c\u3002 scanf() \u5f00\u59cb\u8bfb\u53d6\u8f93\u5165\u4ee5\u540e\uff0c\u4f1a\u5728\u9047\u5230\u7684\u7b2c\u4e00\u4e2a\u7a7a\u767d\u5b57\u7b26\u7a7a\u683c\uff08blank\uff09\u3001\u5236\u8868\u7b26\uff08tab\uff09\u6216\u8005\u6362\u884c\u7b26\uff08newline\uff09\u5904\u505c\u6b62\u8bfb\u53d6\u3002 #include struct Student { int num; char name[20]; float score; }; void main() { struct Student student1,student2; scanf("%d %s %f",&student1.num,&student1.name,&student1.score); scanf("%d %s %f",&student2.num,&student2.name,&student2.score); if(student1.score>student2.score) printf("%s(%d):%6.2f\n",student1.name,student1.num,student1.score); else printf("%s(%d):%6.2f\n",student2.name,student2.num,student2.score); }

1、首先在编程软件中,引入头部的方法代码。

2、实现动态数组在结构体中间的方法代码,如下图所示。

3、运行测试的结果,如下图所示。

4、接着输入实现动态数组在结构体末尾的方法代码,如下图所示。

5、最后运行测试结果,如下图所示,就完成了结构体中使用动态数组输出数据。



代码如下:

#include<stdio.h>

#include<stdlib.h>

int  main()

{struct  Student//声明结构体类型 

  {  int   num;

     char  name[20];

     float score; 

  }

  student1,student2;//定义两个结构体变量 

  scanf("%d%s%f",&student1.num,student1.name,&student1.score);//输入两个学生的数据 

  scanf("%d%s%f",&student2.num,student2.name,&student2.score);

  printf("The  higher  score is:
");

  if(student1.score>student2.score)

  printf("%d %s %6.2f
",student1.num,student1.name,student1.score);

  else  if(student1.score<student2.score) 

  printf("%d %s %6.2f
",student2.num,student2.name,student2.score);

  else

  {printf("%d %s %6.2f
",student1.num,student1.name,student1.score);

   printf("%d %s %6.2f
",student2.num,student2.name,student2.score);

  }

  return 0;

}

扩展资料

结构体作用

结构体和其他类型基础数据类型一样,例如int类型、char类型,只不过结构体可以做成你想要的数据类型。以方便日后的使用。

在实际项目中,结构体是大量存在的。研发人员常使用结构体来封装一些属性来组成新的类型。由于C语言内部程序比较简单,研发人员通常使用结构体创造新的“属性”,其目的是简化运算。

结构体在函数中的作用不是简便,其最主要的作用就是封装。封装的好处就是可以再次利用。让使用者不必关心这个是什么,只要根据定义使用就可以了。

访问结构成员

为了访问结构的成员,我们使用成员访问运算符(.)。成员访问运算符是结构变量名称和我们要访问的结构成员之间的一个句号。您可以使用 struct 关键字来定义结构类型的变量。

结构作为函数参数

您可以把结构作为函数参数,传参方式与其他类型的变量或指针类似。

指向结构的指针

您可以定义指向结构的指针,方式与定义指向其他类型变量的指针相似,如下所示:

struct Books *struct_pointer;

现在,您可以在上述定义的指针变量中存储结构变量的地址。为了查找结构变量的地址,请把 & 运算符放在结构名称的前面,如下所示:

struct_pointer = &Book1;

为了使用指向该结构的指针访问结构的成员,您必须使用 -> 运算符,如下所示:

struct_pointer->title;



scanf("%d,%s,%f",&student1.num,&student1.name,&student1.score);

scanf("%d,%s,%f",&student2.num,&student2.name,&student2.score);

上面这2句不对,可以编译成功,但是保存的值是错误的,

因为它会把“逗号”当作字符送给了%s,所以最后面的%d没有输入数据。

可以换成空格。

scanf() 开始读取输入以后,会在遇到的第一个空白字符空格(blank)、制表符(tab)或者换行符(newline)处停止读取。

#include <stdio.h>

struct Student

{

int num;

char name[20];

float score;

};

void main()

{

struct Student student1,student2;

scanf("%d %s %f",&student1.num,&student1.name,&student1.score);

scanf("%d %s %f",&student2.num,&student2.name,&student2.score);

if(student1.score>student2.score)

printf("%s(%d):%6.2f
",student1.name,student1.num,student1.score);

else

printf("%s(%d):%6.2f
",student2.name,student2.num,student2.score);

}



  • 鐢ㄧ粨鏋勪綋杈撳叆涓や釜瀛︾敓鐨勫鍙銆佸鍚嶅拰鎴愮哗,杈撳嚭 鎴愮哗杈冮珮鐨勫鐢熺殑瀛﹀彿...
    绛旓細#include <stdio.h> struct Student { int num; char name[20]; float score; }; void main() { struct Student student1,student2; scanf("%d,%s,%f",&student1.num,&student1.name,&student1.score); scanf("%d,%s,%f",&student2.num,&student2... 灞曞紑 钃濆効钃濆効1993 | 娴忚1816 娆 |涓炬姤 ...
  • 鐢╟璇█杩欎釜鎬庝箞鍐?
    绛旓細void main(){ struct student { char name[20];//濮撳悕 long num;//瀛﹀彿 float score[3];//涓夌鐨勬垚缁 }s[2];int i,j;float sum=0;printf("杈撳叆涓や釜瀛︾敓鐨勫鍙銆佸鍚嶃佽嫳璇佹暟瀛︺佽绠楁満鎴愮哗锛歕n");for(i=0;i<2;i++){ scanf("%ld",&s[i].num);getchar();//浣滅敤鏄惛鏀惰緭鍏...
  • 鐢ㄧ粨鏋勪綋杈撳叆涓や釜瀛︾敓鐨勫鍙銆佸鍚嶅拰鎴愮哗,杈撳嚭 鎴愮哗杈冮珮鐨勫鐢熺殑瀛﹀彿...
    绛旓細2銆佸疄鐜板姩鎬佹暟缁勫湪缁撴瀯浣涓棿鐨勬柟娉曚唬鐮侊紝濡備笅鍥炬墍绀恒3銆佽繍琛屾祴璇曠殑缁撴灉锛屽涓嬪浘鎵绀恒4銆佹帴鐫杈撳叆瀹炵幇鍔ㄦ佹暟缁勫湪缁撴瀯浣撴湯灏剧殑鏂规硶浠g爜锛屽涓嬪浘鎵绀恒5銆佹渶鍚庤繍琛屾祴璇曠粨鏋滐紝濡備笅鍥炬墍绀猴紝灏卞畬鎴愪簡缁撴瀯浣撲腑浣跨敤鍔ㄦ佹暟缁勮緭鍑烘暟鎹
  • c璇█杈撳叆涓や釜瀛︾敓鐨濮撳悕銆瀛﹀彿銆佽嫳璇佹暟瀛︺佽绠楁満鎴愮哗
    绛旓細scanf("%f",&score[0][1]);printf("璇杈撳叆绗1涓鐢熺殑璁$畻鏈烘垚缁: \n");scanf("%f",&score[0][2]);fflush(stdin);printf("璇疯緭鍏ョ2涓鐢熺殑濮撳悕: \n");gets(name[1]);printf("璇疯緭鍏ョ2涓鐢熺殑瀛﹀彿: \n");scanf("%d",&ID[1]);printf("璇疯緭鍏ョ2涓鐢熺殑鑻辫鎴愮哗: \n")...
  • 1)瀹氫箟涓涓缁撴瀯浣鎻忚堪瀛︾敓淇℃伅(瀛﹀彿,濮鍚,鎬у埆,骞撮緞,浣忓潃); 2)璁捐涓...
    绛旓細缁撴瀯浣鐨勫畾涔夛細struct student { int num;char name[20];char sex;int age;char address[100];};struct student1锛宻tudent2锛涳紙瀹氫箟浜涓や釜瀛︾敓锛変笅闈㈡槸鏄剧ず鏌涓鐢熺殑鐩稿叧淇℃伅锛氾紙姣斿鏄剧ずstudent1鐨勪俊鎭級鏄剧ず瀛﹀彿锛歴tudent1.num 鏄剧ず濮撳悕锛歴tudent1.name 鏄剧ず鎬у埆锛歴tudent1.sex 鏄剧ず骞撮緞锛...
  • 鐝骇鎴愬憳绠$悊绯荤粺-|||-瑕佹眰:浣跨敤C#瀹屾垚,浣跨敤缁撴瀯浣鏂规硶瀹炵幇?
    绛旓細棣栧厛锛屽畾涔変竴涓缁撴瀯浣Student琛ㄧず瀛︾敓锛鍖呮嫭瀛﹀彿銆佸鍚嶃佹у埆銆佸勾榫勭瓑灞炴э細struct Student { public string id;public string name;public string gender;public int age;} 鎺ヤ笅鏉ワ紝瀹氫箟涓涓彮绾х被Classroom锛岀敤浜庣鐞嗙彮绾ф垚鍛橈紝鍖呮嫭娣诲姞鎴愬憳銆佸垹闄ゆ垚鍛樸佹煡璇㈡垚鍛樼瓑鏂规硶锛歝lass Classroom { private List<...
  • 缂栧啓涓涓猚璇█绋嬪簭,瀹炵幇褰曞叆瀛︾敓瀛﹀彿鍜屽鍚嶄俊鎭殑鍔熻兘
    绛旓細include<stdio.h> include<stdlib.h> intmain(void){ chars[10];//濮撳悕 intnum;//瀛﹀彿 printf("璇杈撳叆濮鍚嶏細\n");gets(s);printf("璇疯緭瀛﹀彿锛歕n");scanf("%d",&num);printf("濮撳悕鏄細%s\n瀛﹀彿鏄細%d\n",s,num);system("pause");return0;} ...
  • ...瀛﹀彿銆佺彮绾),骞惰緭鍑鸿繖涓涓鐢熺殑鎵鏈変俊鎭 缁撴瀯浣?
    绛旓細char name[20];int id;char _class[20];};int main(){ struct st s[11];//瀹氫箟缁撴瀯浣鏁扮粍锛沠or(int i=0;i<3;i++)scanf("%s%d%s",s[i].name,&s[i].id,s[i]._class);//杈撳叆 for(int i=0;i<3;i++)printf("濮撳悕:%s 瀛﹀彿:%d 鐝骇:%s\n",s[i].name,s[i].id,s[...
  • c璇█ .鐢ㄧ粨鏋勪綋杈撳嚭瀛︾敓濮鍚嶃瀛﹀彿鍜屾垚缁 鎴戞湁c++鐨勭▼搴 浣嗘槸鐪嬩笉鎳...
    绛旓細char ID[15]; //瀛﹀彿 int Grade; //鎴愮哗 //涓嬮潰鏄瀯閫犲嚱鏁帮紝鏋勯犲嚱鏁扮殑鐗圭偣鏄拰绫鍚锛堟澶勬槸Student锛夌浉鍚岋紝娌℃湁杩斿洖鍊硷紝涓斿彲浠ラ噸杞斤紙鍗冲嚱鏁板悕瀛楃浉鍚岋紝浣嗘槸鍙傛暟绫诲瀷鎴栬呭弬鏁颁釜鏁颁笉涓鏍凤級锛屽畠鐢ㄤ簬鍒濆鍖栦竴涓猻tudent瀵硅薄锛屽垵濮嬪寲鐨勬椂鍊欎紶鍏ヤ笁涓弬鏁帮紝name,id瀛楃涓诧紝int鍨嬬殑grade Student(char...
  • 缂栧啓涓涓猚璇█绋嬪簭,瀹炵幇褰曞叆瀛︾敓瀛﹀彿鍜屽鍚嶄俊鎭殑鍔熻兘
    绛旓細1銆侀鍏堝垱寤轰竴涓猚璇█椤圭洰銆傜劧鍚庡彸閿ご鏂囦欢锛屽垱寤轰竴涓猄tu鐨勫ご鏂囦欢銆2銆佺劧鍚庣紪鍐欏ご鏂囦欢鐨勪唬鐮併傚啀灏嗘暟鎹粨鏋勭殑澧炲垹鏀规煡鍜缁撴瀯浣鍐欏叆澶存枃浠躲3銆佺劧鍚庡湪婧愭枃浠朵腑鍒涘缓main婧愭枃浠跺拰Stu婧愭枃浠躲傚啀main鏂囦欢涓啓鍏nt mian锛堬級浠g爜銆4銆佺劧鍚庡湪mian涓诲嚱鏁颁腑锛屽啓鍏hile璇彞鏃犻檺寰幆銆傚啀鍐欏叆Init鍑芥暟銆5銆佺劧鍚庡湪...
  • 扩展阅读:准大一新生怎么查学号 ... 给自己编一个学号 ... 查一个学生的姓名学号 ... 网上查询自己的学号 ... 考生号查询入口2024 ... 怎么为自己编个学号 ... 扫一扫题目出答案 ... 学号查询入口 ... 大一新生怎样获取学号 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网