写在前面,当时练习以下程序是出于应试,以下有很多应试会考到的题目,例如,最小公倍数、日期转换、选择排序、逆序...如果有很多有应试需求的人们需要整理版的题库,我会抽时间去帮忙整理,祝大家考个好成绩。
//book.c 一本书的图书目录,本题来自C Primer Plus例题,当时觉得对于应用结构体帮助很大,照着敲了一遍。
#include#include char* s_gets(char*st,int n); #define MAXTITL 41 #define MAXAUTL 31 struct book{ char title[MAXTITL]; char author[MAXAUTL]; float value; }; int main() { struct book library; printf("Please enter the book title.n"); s_gets(library.title,MAXTITL); printf("Now enter the author.n"); s_gets(library.author,MAXAUTL); printf("Now enter the value.n"); scanf("%f",&library.value); printf("%s by %s: %.2fn",library.title,library.author,library.value); printf("Done.n"); return 0; } char* s_gets(char*st,int n) { char* ret_val; char* find; ret_val=fgets(st,n,stdin); if(ret_val) { find=strchr(st,'n'); if(find) *find=' '; else while(getchar()!='n') continue; } return ret_val; } */ //多本书 //funds1.c Ba Jie Gou Cheng yuan as Canshu //funds3.c 传递结构 #includeint main() { int i,j,k; for(i=1;i<100;i++) for(j=1;j<100;j++) for(k=1;k<100;k++) { if(i*15+j*9+k==300&&i+j+k==100) { printf("%d %d %dn",i,j,k); } } return 0; }
//定义动态数组,从键盘输入数组元素个数并为数组中的元素赋值,然后将数组元素从小到大排序并输出#include#include int main() { int *p,n,i; int min,j; scanf("%d",&n); p=(int*)malloc(n*sizeof(int)); if(p==0) { printf("allocation failure!n"); exit(1); } for(i=0;i p[j+1]) { min=p[j+1]; p[j+1]=p[j]; p[j]=min; } } for(i=0;i
//结构的嵌套#includestruct Birthday{ int yr; int mo; int day; }; struct Student{ int No; char name[5]; struct Birthday date; }; int main() { struct Student st[5]; int i=0; for(i=0;i<5;i++) //注意字符串不需要用取址符 { scanf("%d %s %d %d %d",&st[i].No,st[i].name,&st[i].date.yr,&st[i].date.mo,&st[i].date.day); } printf("n"); for(i=0;i<5;i++) printf("%d %s %d-%d-%dn",st[i].No,st[i].name,st[i].date.yr,st[i].date.mo,st[i].date.day); return 0; } */ //顺序表—选择排序 //二维数组:求一个3*3矩阵对角线元素之和
//d1=2(d2+1)#includeint main() { int dayn,d1,d2; dayn=9; d2=1; for(dayn=9;dayn>0;dayn--) { d1=(d2+1)*2; //第一天的桃子数是第2天桃子数加1后的2倍 d2=d1; } printf("the total is %dn",d1); return 0; }
两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定
比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x、z比,请编程序找出
三队赛手的名单。#includeint main() { char i,j,k; //i是a的对手,j是b的对手,k是c的对手 for(i='x';i<='z';i++) for(j='x';j<='z';j++) { if(i!=j) for(k='x';k<='z';k++) { if(i!=k&&j!=k) { if(i!='x'&&k!='x'&&k!='z') printf("order is a--%ctb--%ctc--%cn",i,j,k); } } } return 0; }
//请从键盘输入一个整数(位数不固定),然后将该整数逆序输出并计算各位上数字的和。(要求体现计算过程)#includeint main() { long int num; int i,sum=0; scanf("%ld",&num); while(num!=0) { sum+=num%10; printf("%d",num%10); num=num/10; } printf("n%d",sum); return 0; }
//输出100-200之间的所有质数,每行输出5个质数,最终输出该范围内质数的个数#includeint isPrime(int x); int main() { int i=100,j=0; for(i=101;i<200;i++) { if(isPrime(i)) { printf("%dt",i); j++; if(j%5==0) printf("n"); } } printf("n%d",j); return 0; } int isPrime(int x) { int i; for(i=2;i
//定义一个数组,从键盘输入5个整数为数组中的元素赋值,然后将数组元素从小到大排序并输出
//程序功能说明:输出100以内能被3整除且个位数为6的所有整数。
//输出50以内的质数,每行输出5个质数
#include#include int isPrime(int); int main() { int i,j=0; for(i=2;i<50;i++) if(isPrime(i)) { printf("%dt",i); j++; if(j%5==0) printf("n"); } return 0; } int isPrime(int x) { int i; for(i=2;i //寻找二维数组最小值
//找出一批正整数中的最大的偶数。
//编写子函数isPrime(判断质数),输出100以内的所有质数,每行输出10个质数;并按照由大到小的顺序输出最大的3个质数。
//难点在于 由大到小顺序输出最大的3个质数
//从键盘输入某年某月某日,判断这一天是这一年的第几天。其中,定义结构体类型Date(成员分别是year,month,day)
//定义动态数组,从键盘输入数组元素个数并为数组中的元素赋值,然后计算数组元素中大于平均值的元素的个数并输出这些元素。
//功能:求一批数中最大值和最小值的差。
//求给定正整数m以内的素数之和。例如:当m=20时,函数值为77。
//请从键盘输入一个整数(位数不固定),然后将该整数逆序输出并计算各位上数字的和。
// 快速排序



