1、14级程序设计基础题库c语言68更新2六、字符串(10道抽1道,写代码)1、 编写程序,用你的英文名字初始化一个字符串,然后输出,如John(较易)#include#includevoid main() char name10=john; puts(name);2、 请定义一个长度为10的字符串,并将其输出显示。(较易)#include#includevoid main() char name10=johnghasd; puts(name);3、 定义2串密码,判断该两串密码是否一致。(较难)#include#includevoid main() char s110=johnghasd; ch
2、ar s210=gaoshglks; if(strcmp(s1,s2)=0) printf(一致n); else printf(不一致n);4、 反向加密:定义任意长度的密码,输出反向的密码。(较易)5、 判断字符串是否为回文串。(提示:回文字符串是具有回文特性的字符串:即该字符串从左向右读和从右向左读一样,如12321)(难)6、 将字符串中的小写字母改为相应的大写字母 。(难)#include#includevoid main() char str10=bcaefd; int i; for(i=0;stri!=0;i+) if(stri=a&stri=z) stri-=32; puts(s
3、tr); 7、 定义两个字符串,比较两个字符串的长度,输出较长的字符串。若两个字符串长度相同,则输出第一个字符串 。(较难)#include#includevoid main() char str110=bcaefd; char str210=gfsdhf; int i,j; i=strlen(str1); j=strlen(str2); if(ij) puts(str2); else puts(str1);8、 定义一字符串,输出字符串中第一个出现字母a的位置,如没有则输出-1 。(难)#includevoid main() char str100=bca452adefb543s53d; i
4、nt i,n=0; for(i=0;stri!=0;i+) if(stri=a) n=i; if(n0) break; printf(%dn,n+1);9、 定义一字符串,统计该字符串中数字的个数。(较难)#includevoid main() char str100=abc452defb543s53d; int i,n=0; for(i=0;stri!=0;i+) if(stri=0&stri=9) n+; printf(%dn,n); 10、 定义两个字符串,合并成一个新的字符串并输出。(较难)#include#includevoid main() char str1100=abcdefb
5、sd; char str2=3421sd; printf(%sn,strcat(str1,str2); 七、函数(抽1道,写代码)注:在分支结构中任抽一题,要求用函数实现。(较难)八、指针(10道抽1道,写代码)11、 定义函数求2个整数的最大值(要求使用指针变量作函数参数来实现)。(较难)P226#includeint main() void swap(int *p1,int *p2); int a,b; int *p1,*p2; printf(请输入两个整数给a b:n); scanf(%d %d,&a,&b); p1=&a; p2=&b; if(ab) swap(p1,p2); prin
6、tf(max=%dn,a); return 0;void swap(int *p1,int *p2) int temp; temp=*p1; *p1=*p2; *p2=temp;12、 定义函数实现两个float型数的交换(要求使用指针变量作函数参数来实现)(较难)#includeint main() void swap(float *p1,float *p2); float a,b; float *p1,*p2; printf(请输入两个数给a b:n); scanf(%f %f,&a,&b); p1=&a; p2=&b; swap(p1,p2); printf(a=%0.2f b=%0.2
7、fn,a,b); return 0;void swap(float *p1,float *p2) float temp; temp=*p1; *p1=*p2; *p2=temp;13、 定义(返回指针)函数求三个数的最大值。(较难)#includeint main() int a,b,c; int *max(int x,int y,int z); scanf(%d%d%d,&a,&b,&c); printf(%dn,*max(a,b,c);int *max(int x,int y,int z) int f,*q; f=x; if(xy) f=y; if(yz) f=z; q=&f; retur
8、n q;14、 定义(返回指针)函数求三个数的和。(较难)#includeint main() int a,b,c; int *max(int x,int y,int z); scanf(%d%d%d,&a,&b,&c); printf(%dn,*max(a,b,c);int *max(int x,int y,int z) int f,*q; f=x+y+z; q=&f; return q;15、 定义函数求x,y中的较小数(要求用指向函数的指针实现)。(难)P269#includeint main() int min(int,int); int (*p)(int,int); int a,b,
9、c; (*p)=min; scanf(%d %d,&a,&b); c=(*p)(a,b); printf(min=%dn,c); return 0;int min(int x,int y) if(xy) return y; else return x;16、 定义函数求x,y中的较大数(要求用指向函数的指针实现)。(难)#includeint main() int max(int,int); int (*p)(int,int); int a,b,c; (*p)=max; scanf(%d %d,&a,&b); c=(*p)(a,b); printf(max=%dn,c); return 0;i
10、nt max(int x,int y) if(xy) return y; else return x;17、 求一个字符串中的数字字符之和。(要求用指向字符串的指针实现)(难)#include#includeint main() char *p,a20; int i,j=0; gets(a); for(i=0;i=0&ai=9) p=(a+i); j+=*p-48; printf(%dn,j); 18、 输出字符串长度。(要求用指向字符串的指针实现)(难)#include#includevoid main() char *p,a100; int i,j=0; gets(a); for(i=0;
11、ai!=0;i+) p=(a+i); j+; printf(%dn,j); 19、 键盘输入10个数,输出10个数的和(指向一维数组的指针实现)。(难)#includeint main() int *p,i,j=0,a10; for(i=0;i10;i+) scanf(%d,&ai); p=&ai; j=j+*p; printf(%dn,j);20、 键盘输入10个数,输出10个数的最大值(指向一维数组的指针实现)。(难)#includeint main() int *p,i,max,a10; for(i=0;i10;i+) scanf(%d,&ai); p=a; max=a0; for(i=
12、1;i10;i+) if(max*(p+i) max=*(p+i); printf(max=%dn,max);九、数据类型(10道抽1道,写代码)struct student ; 21、 定义一个日期结构体变量(年、月、日),定义包含3个日期信息的数组,输出这些日期信息。(较难)#includeint main() struct date int y; int m; int d; ; struct date s3=2015,4,28,2015,3,4,2015,3,5; int i; for(i=0;i=2;i+) printf(%d %d %d n,si.y,si.m,si.d); retu
13、rn 0;22、 定义一个结构体,管理员工的信息(工号,姓名,工资),定义包含3个员工信息的数组,输出这些员工信息记录。(较难)#includeint main() struct ygxx int gh; char xm10; float gz; ; struct ygxx s3=001,xiao,2800,002,adsd,40000,003,fdag,5000; int i; for(i=0;i=2;i+) printf(%d %s %f n,si.gh,si.xm,si.gz); return 0;23、 定义一个结构体,管理学生的成绩(姓名,学号,成绩),定义包含3个学生信息的数组,输
14、出这些学生信息记录。(较难)#includeint main() struct ygxx char xm10; int xh; float cj; ; struct ygxx s3=yang,001,80,wang,002,94,zhang,003,89; int i; for(i=0;i=2;i+) printf(%s %d %f n,si.xm,si.xh,si.cj); return 0;24、 定义一个结构体,管理学生的成绩(姓名,学号,成绩),从键盘输入3个学生的数据后,求平均成绩。(难)#includeint main() struct ygxx char xm10; int xh
15、; float cj; s3; int i; float sum=0,avg=0; for(i=0;i=2;i+) scanf(%s %d %f,si.xm,&si.xh,&si.cj); sum+=si.cj; avg=sum/3; printf(avg=%0.1fn,avg); return 0;25、 定义一个结构体,管理学生的成绩(姓名,学号,成绩),从键盘输入5个学生的数据后,求最高分。(难)#includeint main() struct ygxx char xm10; int xh; float cj; s5; int i,j; float max; for(i=0;i=4;i
16、+) scanf(%s %d %f,si.xm,&si.xh,&si.cj); max=s0.cj; for(j=1;j=4;j+) if(maxsj.cj) max=sj.cj; printf(max=%0.1fn,max); return 0;26、 定义一个结构体,管理学生的成绩(姓名,学号,成绩),从键盘输入5个学生的数据后,求5个学生的总成绩。(难)#includeint main() struct ygxx char xm10; int xh; float cj; s5; int i; float sum=0; for(i=0;i=4;i+) scanf(%s %d %f,si.x
17、m,&si.xh,&si.cj); sum+=si.cj; printf(sum=%0.1fn,sum); return 0;enum 枚举名 枚举元素列表;27、 定义一个结构体表示日期,包含年、月、日、星期,其中星期用枚举类型实现,用今天的日期将其初始化。(难)#includeint main() enum Weekday sun,mon,tue,wed,thu,fri,sat; enum Weekday i; struct date int y; int m; int d; ; struct date s=2015,7,2; i=wed; return 0;28、 定义一个结构体表示日期,包含年、月、日、星期,其中星期用枚举类型实现,用(2015-4-28 星期二)将其初始化。(难)#includeint main() enum Weekday sun,mon,tue,wed,thu,fri,sat; enum Weekday i; struct date int y; int m; int d; ; struct date s=2015,4,28; i=tue; return 0;29、 编写一个函数,向一个动态链表插入结点。(难)30、 编写一个函数,删除动态链表中某结点。(难)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1