1、C语言程序8八案例1:学生成绩管理程序:#include#include#includetypedef struct Node char name20; int score3; struct Node *next;stu;stu *creat(int n) stu *s,*p,*h; int i; if(h=(stu *)malloc(sizeof(stu)=NULL) printf(不能分配空间); exit(0); h-name0=0; h-next=NULL; p=h; for(i=0;inext=s; printf(请输入第%d个人的姓名:,i+1); scanf(%s,s-name)
2、; printf(请输入第%d个人的成绩:,i+1); scanf(%s,s-score); s-next=NULL; p=s; return(h);main() int number; stu *head; printf(请输入人的个数:); scanf(%d,&number); head=creat(number);2:学生成绩编译系统和查询。#include#include#include#includetypedef struct node char name20; int score3; struct node *next;stu;stu *creat(int n) stu *s,*
3、p,*h; int i; if(h=(stu *)malloc(sizeof(stu)=NULL) printf(不能分配空间:); exit(0); h-name0=0; h-next=NULL; p=h; for (i=0;inext=s; printf(请输入第%d个人的姓名: ,i+1); scanf(%s,s-name); printf(请输入第%d个人的成绩:,i+1); scanf(%s,s-score); s-next=NULL; p=s; return(h);stu * search(stu *h,char *y) stu *p; char *m; p=h-next; whi
4、le(p!=NULL) m=p-name; if(strcmp(m,y)=0) return(p); else p=p-next; if(p=NULL) printf(没有找到该数据:); return(p);main() int number; stu *head,*searchpoint; char fullname20; printf(请输入人的个数:); scanf(%d,&number); head=creat(number); printf(请输入你有查找的人的姓名:) ; scanf(%s,&fullname); searchpoint=search(head,fullname)
5、; printf(要查找人的姓名和成绩为:name:%4s,score:%4sn,searchpoint-name,searchpoint-score);3: 输入排序:#include#includemain() int i,j; int temp; int a10; printf(请输入十个数:n); for(i=0;i10;i+) scanf(%d,&ai); printf(你输入的数为:n); for(i=0;i10;i+) printf(%4d,ai); for(i=0;i9;i+) for(j=i;jaj) temp=ai; ai=aj; aj=temp; printf(输入后的数
6、列为;n); for(i=0;i10;i+) printf(%5dn,ai); 4:输入9个数,按矩阵输出并输出没行的最大数#include#includevoid main() int b3,max,i,j; int a33; printf(请输入9个数:n); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); printf(n); printf(你输入的数为:n); for(i=0;i3;i+) for(j=0;j3;j+) printf(%3d ,aij); printf(n); for(i=0;i3;i+) max=ai0; for(j=1;j
7、max) max=aij; bi=max; printf(每行最大数为:n); for(i=0;i3;i+) printf(%5d,bi); printf(n); 5:输入两个字符串,并比较它们的大小且输出每个字符串的长度#include#include#includemain() char a20,b20; int i,n,m; printf(请输入A的字符串n); gets(a); printf(请输入B的字符串n); gets(b); i=strcmp(a,b); if(i=0) printf(abn); if(i0) printf(abn); if(i0) printf(abn); n
8、=strlen(a); m=strlen(b); printf(a=%2d b=%2dn,n,m);6:请输入10个人的学号,数学成绩,英语成绩,程序设计成绩,还算出他们的平均分。并且浏览他们的成绩和平均成绩,还通过查询它们的学号显示他们的成绩。#include#include#include#define N 10#define M 3void main() char numN10; char find10; int scoreNM+1; int i,j,sum=0,ave=0; for(i=0;iN;i+) printf(请输入第%d个人的学号:,i+1); scanf(%s,numi);
9、 for(j=0;numij!=0;j+) if(numij9 ) printf(你输入的学号有误,请输入(1-9)的数 n); i-; break; for(i=0;iN;i+) ave=0; printf(请输入第%s个人的成绩: ,numi); for(j=0;jM;j+) scanf(%3d,&scoreij); sum=sum+numij; ave=sum/M; scoreiM=ave; sum=0; printf(学生的各科成绩:n); printf(num math english prog ave ); printf(-n); for(i=0;iN;i+) printf(%s
10、%d %d %d %d n , numi,scorei0,scorei1,scorei2,scoreiM); printf(查询学生信息n); printf(请输入你要查询的人的学号:); scanf(%s,find); for(i=0;iN;i+) if (strcmp(numi,find)=0) break; if(iN) printf(num math english prog ave n); printf(-n); printf(%s %d %d %d %d n , numi,scorei0,scorei1,scorei2,scorei3); else printf(cant find
11、 the recrodn);7:计算一元二次方程的解#include#include#includemain() int a,b,c; float p,x1,x2; printf(球一元二次方程的根n); printf(请输入a,b,c,的值n); scanf( %d, %d, %d ,&a,&b,&c); p= b*b-4*a*c ; if(p0) printf(方程无解n); else if(p=0) x1= -b/(2*a) ; printf(%dx2+%dx+%d=0,a,b,c);printf(方程有一个解为:x1=%fn,x1); else x1= -b+sqrt(p) /( 2*
12、a ); x2=(-b-sqrt(p)/(2*a); printf(方程%dx2+%dx+%d=0的解为:x1=%f,x2=%fn,a,b,c,x1,x2);8:编写一个系统登录程序,设置登录名和密码(密码设置最多循环3次)#include#include#includemain() char use20; int i, pw; printf(用户名为zhangjun n 密码为123nn); printf( 用户登录程序 n); printf(请输入用户名:n); scanf(%s,use); do if(strcmp(use,zhangjun)=0) printf(请输入开机密码:); scanf(%d,&pw); for(i=0;i3;i+) /设置密码输入次数 if(pw=123) printf(欢迎使用本程序:n);break; / while(pw=123) / break; else printf(密码错误,请从新输入:n); scanf(%d,&pw); break; else printf(用户名错误请从新输入:n); scanf(%s,use);while(use!=zhangjun);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1