目录
一、结构体学习
#include<stdio.h>
#include<malloc.h>
#define Size 10
typedef struct Student//typedef表示将struct Student命名为Student
{
long id;
char name[Size];
int score[3];
}Student;
int maxScore(Student*student,int n);//函数声明要放在main()函数之前
int main()
{
int n;
int result;
scanf("%d",&n);
Student *student=(Student*)calloc(n,sizeof(Student));//为结构体数组分配内存
for(int i=0;i<n;i++)
{
scanf("%5ld %s %d %d %d",&student[i].id,&student[i].name,&student[i].score[0],&student[i].score[1],&student[i].score[2]);
}
result=maxScore(student,n);//%05ld表示不足补0
printf("%s %05ld %d",student[result].name,student[result].id,student[result].score[0]+student[result].score[1]+student[result].score[2]);
return 0;
}
int maxScore(Student*student,int n)//取出结构体数组中score数组元素和最大的结构体元素的下标
{
int index=0;
int score,max=student[0].score[0]+student[0].score[1]+student[0].score[2];
for(int i=0;i<n;i++)
{
score=student[i].score[0]+student[i].score[1]+student[i].score[2];
if(score>max)
{
index=i;
max=score;
}
}
return index;
}
二、判断三角形
int panduan(int a,int b,int c)
{
if(a+b>c && a+c>b && b+c>a)
{
return 1;
}
else
{
return 0;
}
return 0;
}
三、字符串比大小
#include<stdio.h>
#include<string.h>
int main()
{
char shuzu[5][85],temp[90];
for(int i=0;i<5;i++)
{
scanf("%s",shuzu[i]);
}
for(int i=0;i<5;i++)
{
for(int j=0;j<4-i;j++)//这是冒泡排序
{
if(strcmp(shuzu[j],shuzu[j+1])>0)//strcmp可以用来比较字符串大小
{
strcpy(temp,shuzu[j]);//strcpy可以用来交换字符串
//strcpy用于复制一个字符串(后)到另一个字符串(前)
strcpy(shuzu[j],shuzu[j+1]);
strcpy(shuzu[j+1],temp);
}
}
}
printf("After sorted:\n");
for(int i=0;i<5;i++)
{
printf("%s\n",shuzu[i]);
}
return 0;
}
四、统计字符串中特定字符的数量
#include<stdio.h>
int main()
{
char arr[100]={'\0'};
char ch;
int i=0;
while((ch=getchar())!='\n')
{
arr[i]=ch;
i++;
}
char m;
int count=0;
scanf("%c",&m);
for(int j=0;j<i;j++)
{
if(arr[j]==m)
{
count++;
}
}
printf("%d",count);
return 0;
}