精华内容
下载资源
问答
  • <p>a. 现有一个班级的学生成绩,要求自定义结构体存储学生信息,学生信息包括学生姓名与学生成绩。...插入代码段的时候不知道哪个是C语言,就选的C++ 谢谢泥萌!</p>
  • 简单构造一个结构体实例如下: struct student { char name[20]; int score; }; 1.指向结构体变量 demo: ...scanf("%s %d", st1.name, &(st1.score)); printf("%s %d\n", st1.name, st...

    简单构造一个结构体实例如下:

    struct student
    {
        char name[20];
        int score;
    };

    1.指向结构体变量

    int main()
    {
        struct student st1;
        scanf("%s %d", st1.name, &(st1.score));
        printf("%s %d\n", st1.name, st1.score);
        return 0;
    }
    
    //输入:aha 12
    //输出:aha 12
    

    2.指针指向结构体成员

    int main()
    {
        struct student st1, *st2;
        st2 = &st1;//指向结构体变量
        scanf("%s", st2->name);
        scanf("%d", &st2->score);
        printf("%s %d\n", st1.name, st1.score);
        printf("%s %d\n", (*st2).name, (*st2).score);
        printf("%s %d\n", st2->name, st2->score);
        return 0;
    }
    
    //输入: aha 12
    //输出:aha 12
    //     aha 12
    //     aha 12

    注意:

    (1)如果要将一个结构体对象赋给一个结构体指针变量,那么它们的结构体类型必须相同

    (2)指针 *st2 两边的括号不可省略,因为成员运算符“.”的优先级高于指针运算符“*”,所以如果 *st2 两边的括号省略的话,那么 *st2.name 就等价于 *(st2.name) 了。但是我们可以使用下面两种方式访问结构体成员:

    (*指针变量名).成员名 

    指针变量名->成员名

    3.给结构体指针申请空间

    int main()
    {
        struct student *st2;
        st2 = (struct student *)malloc(sizeof(struct student));
        if (NULL == st2) {
            exit(1);
        }
        scanf("%s", st2->name);
        scanf("%d", &st2->score);
        printf("%s %d\n", st2->name, st2->score);
        if (st2) {
            free(st2);
            st2 = NULL;
        }
        return 0;
    }
    
    //输入: aha 12
    //输出:aha 12

     

    展开全文
  • 结构体数据的输入输出 例9.1 结构体数据输入输出 #include stdio.h main) { struct { int i; char ch1; char ch2; }tr; scanf%d%c%c&tr.i, &tr.ch1, &tr.ch2; printf(i=%d,ch1=%d,ch2=%d\n,tr.i,tr
  • scanf("%d%d%d",¤t_date.year,¤t_date.month,¤t_date.day); } void increment_date(struct date_rec *current_date) { if(current_date.day >0 && current_date.day ) { current_date...
  • 输入名字后 程序直接没了 然后直接打印出后面的三句话了 按程序来说 应该是打印一句话 然后停下来让我输入的啊 怎么我输入一个 下面三句话都打印出来了 运行结果: ![图片说明]...
  • 使用结构体)#include 2 struct stu{ 3 int num; 4 char xingming; 5 double score; 6 }; 7 int main(){ 8 int i; 9 double sum=0,av=0; 10 int count=0,n; 11 struct stu s[i]; 12 ...
  • C语言结构体变量传递

    2020-05-29 20:43:28
    #include<stdio.h> struct birthday { int year; int month; int day; }; struct people{ char name[20];... printf("请输入姓名");... scanf("%s",peo.name); printf("请输入出生日期"); s
    #include<stdio.h>
    struct birthday
    {
    	int year;
    	int month;
    	int day;
    };
    struct people{
    	char name[20];
    	struct birthday bir;
    	char gender[10];
    };
    struct people input(struct people peo)
    {
    	printf("请输入姓名");
    	scanf("%s",peo.name);
    	printf("请输入出生日期");
    	scanf("%d%d%d",&peo.bir.year,&peo.bir.month,&peo.bir.day);
    	printf("请输入性别");
    	scanf("%s",peo.gender);
    	return peo;
    }
    void output(struct people peo)
    {
    	printf("姓名:%s\n",peo.name);
    	printf("出生日期:%d-%d-%d\n",peo.bir.year,peo.bir.month,peo.bir.day);
    	printf("性别:%s\n",peo.gender);
    }
    int main()
    {
    	struct people peo1,peo2;
    	printf("请输入第一个人的信息\n");
    	peo1=input(peo1);
    	printf("请输入第二个人的信息\n");
    	peo2=input(peo2);
    	printf("信息输入完毕,现在开始输出\n");
    	printf("开始输出第一个人的信息\n");
    	output(peo1);
    	printf("开始输出第二个人的信息\n");
    	output(peo2);
    	printf("输出完毕,感谢您的使用。\n");
    	return 0;
    }
    

    【运行结果】
    在这里插入图片描述

    展开全文
  • # include <stdio.h> struct STU { char name[20]; int age; char sex; char num[20]; }; int main(){ struct STU sut[3];... scanf("%s %d %s %s",sut[0].name,sut[0].age,sut[0].sex,sut[0].num); }
    # include <stdio.h>
    struct STU
    {
        char name[10];
        int age;
        char sex;
        char num[20];
    };
    int main()
    {
        struct STU stu[3];
        scanf ("%s%d %c%s", stu[0].name, &stu[0].age, &stu[0].sex, stu[0].num);/*%c前面要加空格, 不然输入时会将空格赋给%c*/
       	printf("学生姓名:%s 学生年龄:%d 学生性别:%c 学生学号:%s\n", stu[0].name, stu[0].age, stu[0].sex, stu[0].num);
    }
    
    
    展开全文
  • #include<stdio.h> struct clothes{ char ID[20]; char pinpai[20]; double price;... printf("请输入第%d条服装销售信息:\n",i+1); printf("ID:"); scanf("%s",p[i].ID); printf("品牌:");
    #include<stdio.h>
    struct clothes{
    	char ID[20];
    	char pinpai[20];
    	double price;
    	int number;
    };
    void input(struct clothes *p){
    	int i;
    	for(i=0;i<3;i++){
    		printf("请输入第%d条服装销售信息:\n",i+1);
    		printf("ID:");
    		scanf("%s",p[i].ID);
    		printf("品牌:");
    		scanf("%s",p[i].pinpai);
    		printf("价格:");
    		scanf("%lf",&p[i].price);
    		printf("销售数量:");
    		scanf("%d",&p[i].number); 
    	}
    }
    void output1(struct clothes *p){
    	int i,j;
    	struct clothes t;
    	for(i=0;i<3;i++){
    		for(j=0;j<2-i;j++){
    			if(p[j].number<p[j+1].number){
    				t=p[j];
    				p[j]=p[j+1];
    				p[j+1]=t;
    			}
    		}
    	}
    	for(i=0;i<3;i++){
    		printf("%s\t%s\t%.2f\t%d\n",p[i].ID,p[i].pinpai,p[i].price,p[i].number);
    	}
    }
    void output2(struct clothes *p){
    	int i;
    	FILE *fp=fopen("low_price.dat","w+");
    	double sum=0,ave=0;
    	for(i=0;i<3;i++){
    		sum+=p[i].price;
    	}
    	ave=sum/3;
    	for(i=0;i<3;i++){
    		if(p[i].price<ave){
    			fprintf(fp,"%s\t%s\t%.2f\t%d\n",p[i].ID,p[i].pinpai,p[i].price,p[i].number);
    		}
    	}
    	fclose(fp);
    }
    
    int main(){
    	struct clothes cl[3];
    	input(cl);
    	output1(cl);
    	output2(cl);
    }
    
    
    展开全文
  • 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天?注意闰年问题。 输入格式要求:"请输入日期(年,月,日)\n" 输出格式要求:&#...
  • scanf("%d%s%f",&(p+i)->number,&(p+i)->name,&(p+i)->scores); } } void Rank(struct Student *p) { struct Student *q; q=p; for(int i=0;i;i++) { if(q->scores<(p+i+1)->scores) { q=p+i+1...
  • (1)输入10个学生的学号、姓名和成绩,求出其中的高分者和低分者。 #include struct student { int num; char name[20]; int score; }; int main( ) { int i; struct student st,stmax,...
  • #include <stdio.h> struct stu{ float score; }; struct stu info[5];... printf("请输入第%d个学生的成绩:",i+1); scanf("%f",&info[i].score); sum+=info[i].score; j++; } avg=sum/j;
  • //结构体 struct student { int iNum; char cName[16]; float fChineseScore; float fMathScore; float fEnglishScore; }; typedef struct student STUDENT; //输入 void InputTranscript(STUDENT MyClass[],...
  • scanf("%s,%d,%d,%c,%f",&a[3].name,&a[3].num,&a[3].age,&a[3].group,&a[3].score); return 0; } ![图片说明](https://img-ask.csdn.net/upload/201703/08/1488959301_623774.png) 应该输出5组信息但是只有3...
  • ``` #include "stdio.h" #include "conio.h" #include #include int main() ... printf("请输入学生姓名:");... scanf("%s",student1[i].name);...运行后,输入学生信息,发现信息输入不进去。好奇怪。
  • ````c/*定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。输入年月日输出当年第几天样例输入2000 12 31样例输出366*/#includestruct Date{int ...//获取输入的年月日scanf("%d%d%d",...
  • scanf("%d%s%s%f%f%f",&s[i].id,&s[i].name,&s[i].subject,&s[i].perf,&s[i].mid,&s[i].final); } } void clac(STU s[],int n){//计算总评和成绩 for(int i=0;i;i++){ s[i].total=0.2*s[i].perf+0.2*s[i]...
  • 指向要输入的学生的结构体变量或数组元素 ; margin-right:0">(5) 实现输出一个学生信息的函数print,在一行中输出参数指定学生的所有信息、成绩、总分和平均分,函数原型如下: ; margin-right:0">...
  • scanf("%s %lf %d %d %d",s->name,&s->price,&s->date.year,&s->date.month,&s->date.day); printf("%s %lf %d-%d-%d",s->name,s->price,s->date.year,s->date.month,s->date.day); } p=30.0; j=fun(s,p); ...
  • default :printf("输入有误,请重新输入!\n");system("pause");system("cls"); } } } ``` 为什么这样分配内存不行呢? 黑框弹出一回儿就说这程序已经停止工作了 其中LEN是sizeof(Book) ,MAX 为...
  • 问题是这样的 本人大一 C语言课程设计 做一个运动员管理系统 部分代码如下 #include #include #include #include void search(); void enter(); void browse(); void save(); void add(); int load(int y)...
  • printf("请输入第%d位学生的数学成绩:",i+1); scanf("%d",&student[i].math); printf("请输入第%d位学生的英语成绩:",i+1); scanf("%d",&student[i].eng); printf("请输入第%d位学生的计算机成绩:",...
  • 运行过程中,输入0-10或者为负数的时候,子函数与主函数输出没有问题,然后输入11及其以上的数字,子函数正确,主函数输出为-1. 最开始我以为是内存空间溢出的问题,把MAX改小后依然存在问题。 然后我把结构体定义...
  • scanf("%s,%d,%d,%c,%f",a[3].name,a[3].num,a[3].age,a[3].group,a[3].score); return 0; } int shang ( struct stu *a) { (a+2)[0]=(a+3)[0]; (a+3)[0]=(a+4)[0]; return 0; } ![图片说明]...
  • C语言结构体数组用 for循环和scanf输入 比应输入行数多一行,这是为什么? 3组学生信息的输入,成绩汇总,排序,打印 我只想输3组数据(aa,bb,cc),但必须输4行(多了dd,这行是随便输的)才行,,不懂...
  • c语言结构体

    2020-11-28 22:57:46
    结构体与共用体 结构体变量 结构体变量的定义 ...不能整体scanf 及整体运算及整体输入和输出(只能对各成员) 类型相同可赋值但不能== #include<stdio.h> struct date { int year; int month; int da
  • *12.29.13:20更新_看了一位答主的回答之后我试着输入超出Id限定的字符数,结果在(scanf("%s",Room[i].Id)之后)输出的Room[i].Name却是输出的超出Id限定长度的部分,希望对解决问题有帮助 12.29.18:00更新_刚刚...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 261
精华内容 104
关键字:

c语言结构体scanf输入

c语言 订阅