经典的题目

阅读: 评论:0

经典的题目

经典的题目

1、有若干的人员的数据,其中有学生和教师。

学生的数据中包括:姓名、号码、性别、职业、班级。

教师的数据包括:姓名、号码、性别、职业、职务。要求用同一个表格来处理

#include<stdio.h>
struct{                //声明无名结构体类型int num;            //成员num(编号)char name[10];    char sex;char job;union{int class;char position[10];}category;        //成员category是共用体变量
}person[2];            //定义结构体数组person,有两个元素
int main(){int i;for(i=0;i<2;i++){printf("输入结构体的数据")scanf("%d,%s,%c,%c",&person[i].num,&person[i].name,&person[i].sex,&person[i].job);if(person[i].job=='s')scanf("%d",&person[i].category.class);//如是学生,输入班级else if(person[i].job=='t')scanf("%d",&person[i].category.position);elseprintf("Input error!");}
printf("n");
for(i=0;i<2;i++)
{if(person[i].job=='s')printf("%-6d%-10s%-4c%-10sn",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].category.class);
elseprintf("%-6d%-10s%-4c%-10sn",person[i].num,person[i].name,preson[i].sex,person[i].job,person[i].category.position);}return 0;
}

有n个结构体变量,内含学生学号、姓名和三门课程成绩。要求输出平均分最高的学生的信息(包含学号、姓名、3门成绩和平均分)

#include<stdio.h>
#define N 3//学生数为3
struct Student{int num;char name[20];float score[3];float aver;
};
int main(){void input(struct Student stu[]);struct Student max(struct Student stu[]);void print(struct Student stu);struct Student stu[N],*p=stu;input(p);print(max(p));return 0;
}
void input(struct Student stu[])
{    int i;printf("请输入各个学生的信息:学号、姓名、3门课成绩n");for(i=0;i<N;i++){scanf("%d %s %f %f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0;}
}
struct Student max(struct Student stu[])
{    int i,m=0;for(i=0;i<N;i++)if(stu[i].aver>stu[m].aver)m=i;return stu[m];
}
void print(struct Student stud){printf("n成绩最高的学生是:n");printf("学号:%dn姓名:%sn三门课成绩:%5.1f,%5.1fn平均成绩:%6.2fn",stud.num,stud.name,stud.score[0],stud.score[1],stud.score[2],stud.aver);}

2、素数的判断

#include<stdio.h>
#include<math.h>
int main(){int n,i;print("输入数");scanf("%d",&n);k=sqrt(n)for(i=2;i<k;i++){if(n%i==0)break;if(i<k)print("%d不是素数n",n);else printf("%d是素数n",n);return 0;
}
}

3、鸡兔同笼,a只头,b只脚,问鸡兔各几只。

#include<stdio.h>
int main() {int a, b;printf("请输入总头");scanf_s("%d", &a);printf("请输入总脚");scanf_s("%d", &b);for (int i = 0; i <= a; i++) {//i代表鸡头 int j = a - i;			//j代表兔头if (2 * i + 4 * j == b) { printf("鸡:%d;兔:%d", i, j); }}return 0;
}

4、输出所有水仙花数。所谓“水仙花数”是指一个3位数,其各位数字立方和等于数本身。

例如,153是一水仙花数,因为153=++

#include<stdio.h>
int main() {int a,b,c,n;for (n = 100; n < 1000; n++) {a = n / 100;b = n / 10 % 10;c = n % 10;if (a * a * a + b * b * b + c * c * c == n) {printf("%d", n);}}
}

5、输入一行字符,分别统计出英文字母、空格、数字和其他字符的个数

#include<stdio.h>
int main(){char c;int zhimu=0,kongge=0,shuzi=0,other=0;printf("快快快输入字符:n");while((c=getchar())!='n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')zhimu++;else if(c=' ');kongge++;else if(c>='0'&&c<='9')shuzi++;else:other++;
}printf("字母数:%dn空格数:%dn其他字符数:%dn",zhimu,kongge,shuzi,other);return 0;
}

6、输入两个正整数m和n,求其最大的公约数和最大公倍数。

1.选择两个整数a和b,其中a >= b。

2.用a除以b,得到余数r。

3.将b的值赋给a,将r的值赋给b。

4.重复步骤2和3,直到r等于0。此时,b即为最大公约数。

5.最小公倍数=两数的乘积/最大公约(因)数

#include<stdio.h>
int main(){int s,r,n,m,t;printf("输入两个整数n,m:");scanf("%d",%d",&n,&m);if(n<m){t=n;n=m;     m=t;
}s=n*m;while(m!=0){r=n%m;n=m;m=r;
}printf("他最大公约数为:%dn",n);printf("他最小公倍数是:%dn",s/n);return 0;
}

7、口袋中有红、黄、蓝、白、黑5种颜色的球若干。若每次从口袋中先后取出3个球,问得到的三种颜色的可能取法,输出每次排列的情况。

#include<stdio.h>
int main(){enum Color{red,yellow,blue,white,black};enum Color i,j,k,pri;int n,loop;n=0;for(i=red;i<=black;i++)for(j=red;j<=black;j++)if(i!=j){for(k=red,k<=black;k++)if((k!=i)&&(k!=j)){n=n+1;printf("%-4d",n);for(loop=1;loop<=3;loop++){switch(loop){case 1:pri=i;break;case 2:pri=j;break;case 3:pri=k;break;default:break;}switch(pri){case red:printf("%-10s","red");break;case yellow:printf("%-10s","yellow");break;case blue:printf("%-10s","blue");break;case white:printf("%-10s","white");break;case black:printf("%-10s","black");break;default:break;}
}
printf("n");
}
}
printf("ntotal:%5dn",n);
return 0;    }}

8、建立动态链表

#include<stio.h>
#include<stdlib.h>
#define LEN sizeof(struct Student)
struct Student
{long num;float score;struct Stuent * next;};
int n;
struct Student*creat(void)
{struct Student*head;struct Stuent *p1,*p2;n=0;p1=p2=(struct Student*)malloc(LEN);scanf("%d,%f",&p1->num,&p1->score);head=NULL;while(p1->num!=0){n=n+1;if(n==1)head=p1;else p2->next=p1;p2=p1;p1=(struct Student*)malloc(LEN);scanf("%ld,%f",&p1->num,&p1->score);}
p2->next=NULL;
return(head);
}
int main(){struct Student * pt;pt=creat();printf("nnum:%dnscore:%5.1fn",pt->num,pt->score);return 0;
};

本文发布于:2024-02-02 12:50:52,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170684945243916.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:题目   经典
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23