0
点赞
收藏
分享

微信扫一扫

分享5款让大家电脑更好用的软件

彪悍的鼹鼠 2024-06-11 阅读 30
算法

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

struct student{
char num[6];
char name[11];
int a,b,c;
int sum;
};
int main()
{
int n;
int i;
scanf("%d",
struct student stu[n],max;
for(i=0;i<n;i++)
{
scanf("%s %s %d %d %d",stu[i].num,stu[i].name,&stu[i].a,&stu[i].b,
stu[i].sum=stu[i].a+stu[i].b+stu[i].c;


if(i==0)
{
max=stu[i];
}

if(stu[i].sum>max.sum)
max=stu[i];
}

printf("%s %s %d",max.name,max.num,max.sum);
return 0;
}

存在的问题:

1.怎么样用第一个是总分最高的学生,输出时候不只能输出最高总分,还能对应学生,小杜 if(i==0){max=stu[i]}很好的解决了我的问题

2.循环中要不要加stu[i].还是知己stu,答案是需要加

想要用stu[i].sum,结构体中就必须要加入sum;

想要用max.name,主函数中定义初始化结构体的时候就需要struct student stu[n],max;想、连同max一起定义

找出最长的字符串

#include<stdio.h>
#include<string.h>
int main()
{
int n;
scanf("%d",
char str[80],maxstr[80];
int len=0,maxlen=0;
for(int i=0;i<n;i++)
{
gets(str);
len=strlen(str);
if(len>maxlen)
{
maxlen=len;
strcpy(maxstr,str);
}
}
printf("%s",maxstr);
return 0;
}

小杜写的: 

#include <stdio.h>
#include <string.h>
int main()
{
int n;
char p[81],max[81];
scanf("%d",
scanf("%s",p);
strcpy(max,p);
for(int i=1; i<n; i++)
{
scanf("%s",p);
if(strlen(p)>strlen(max))
strcpy(max,p);
}
printf("The longest is: %s",max);
return 0;
}
举报

相关推荐

0 条评论