14级程序设计基础题库c语言68更新2.docx
- 文档编号:4080398
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:15
- 大小:17.34KB
14级程序设计基础题库c语言68更新2.docx
《14级程序设计基础题库c语言68更新2.docx》由会员分享,可在线阅读,更多相关《14级程序设计基础题库c语言68更新2.docx(15页珍藏版)》请在冰豆网上搜索。
14级程序设计基础题库c语言68更新2
六、字符串(10道抽1道,写代码)
1、编写程序,用你的英文名字初始化一个字符串,然后输出,如John(较易)
#include
#include
voidmain()
{
charname[10]={"john"};
puts(name);
}
2、请定义一个长度为10的字符串,并将其输出显示。
(较易)
#include
#include
voidmain()
{
charname[10]={"johnghasd"};
puts(name);
}
3、定义2串密码,判断该两串密码是否一致。
(较难)
#include
#include
voidmain()
{
chars1[10]={"johnghasd"};
chars2[10]={"gaoshglks"};
if(strcmp(s1,s2)==0)
printf("一致\n");
else
printf("不一致\n");
}
4、反向加密:
定义任意长度的密码,输出反向的密码。
(较易)
5、判断字符串是否为回文串。
(提示:
回文字符串是具有回文特性的字符串:
即该字符串从左向右读和从右向左读一样,如12321)(难)
6、将字符串中的小写字母改为相应的大写字母。
(难)
#include
#include
voidmain()
{
charstr[10]={"bcaefd"};
inti;
for(i=0;str[i]!
='\0';i++)
if(str[i]>='a'&&str[i]<='z')
str[i]-=32;
puts(str);
}
7、定义两个字符串,比较两个字符串的长度,输出较长的字符串。
若两个字符串长度相同,则输出第一个字符串。
(较难)
#include
#include
voidmain()
{
charstr1[10]={"bcaefd"};
charstr2[10]={"gfsdhf"};
inti,j;
i=strlen(str1);
j=strlen(str2);
if(i puts(str2); else puts(str1); } 8、定义一字符串,输出字符串中第一个出现字母a的位置,如没有则输出-1。 (难) #include voidmain() { charstr[100]={"bca452adefb543s53d"}; inti,n=0; for(i=0;str[i]! ='\0';i++) { if(str[i]=='a') n=i; if(n>0) break; } printf("%d\n",n+1); } 9、定义一字符串,统计该字符串中数字的个数。 (较难) #include voidmain() { charstr[100]={"abc452defb543s53d"}; inti,n=0; for(i=0;str[i]! ='\0';i++) if(str[i]>='0'&&str[i]<='9') n++; printf("%d\n",n); } 10、定义两个字符串,合并成一个新的字符串并输出。 (较难) #include #include voidmain() { charstr1[100]={"abcdefbsd"}; charstr2[]={"3421sd"}; printf("%s\n",strcat(str1,str2)); } 七、函数(抽1道,写代码) 注: 在分支结构中任抽一题,要求用函数实现。 (较难) 八、指针(10道抽1道,写代码) 11、定义函数求2个整数的最大值(要求使用指针变量作函数参数来实现)。 (较难)P226 #include intmain() { voidswap(int*p1,int*p2); inta,b; int*p1,*p2; printf("请输入两个整数给ab: \n"); scanf("%d%d",&a,&b); p1=&a; p2=&b; if(a swap(p1,p2); printf("max=%d\n",a); return0; } voidswap(int*p1,int*p2) { inttemp; temp=*p1; *p1=*p2; *p2=temp; } 12、定义函数实现两个float型数的交换(要求使用指针变量作函数参数来实现)(较难) #include intmain() { voidswap(float*p1,float*p2); floata,b; float*p1,*p2; printf("请输入两个数给ab: \n"); scanf("%f%f",&a,&b); p1=&a; p2=&b; swap(p1,p2); printf("a=%0.2fb=%0.2f\n",a,b); return0; } voidswap(float*p1,float*p2) { floattemp; temp=*p1; *p1=*p2; *p2=temp; } 13、定义(返回指针)函数求三个数的最大值。 (较难) #include intmain() { inta,b,c; int*max(intx,inty,intz); scanf("%d%d%d",&a,&b,&c); printf("%d\n",*max(a,b,c)); } int*max(intx,inty,intz) { intf,*q; f=x; if(x { f=y; } if(y { f=z; } q=&f; returnq; } 14、定义(返回指针)函数求三个数的和。 (较难) #include intmain() { inta,b,c; int*max(intx,inty,intz); scanf("%d%d%d",&a,&b,&c); printf("%d\n",*max(a,b,c)); } int*max(intx,inty,intz) { intf,*q; f=x+y+z; q=&f; returnq; } 15、定义函数求x,y中的较小数(要求用指向函数的指针实现)。 (难) P269 #include intmain() { intmin(int,int); int(*p)(int,int); inta,b,c; (*p)=min; scanf("%d%d",&a,&b); c=(*p)(a,b); printf("min=%d\n",c); return0; } intmin(intx,inty) { if(x>y) returny; else returnx; } 16、定义函数求x,y中的较大数(要求用指向函数的指针实现)。 (难) #include intmain() { intmax(int,int); int(*p)(int,int); inta,b,c; (*p)=max; scanf("%d%d",&a,&b); c=(*p)(a,b); printf("max=%d\n",c); return0; } intmax(intx,inty) { if(x returny; else returnx; } 17、求一个字符串中的数字字符之和。 (要求用指向字符串的指针实现)(难) #include #include intmain() { char*p,a[20]; inti,j=0; gets(a); for(i=0;i<20;i++) { if(a[i]>='0'&&a[i]<='9') { p=(a+i); j+=*p-48; } } printf("%d\n",j); } 18、输出字符串长度。 (要求用指向字符串的指针实现)(难) #include #include voidmain() { char*p,a[100]; inti,j=0; gets(a); for(i=0;a[i]! ='\0';i++) { p=(a+i); j++; } printf("%d\n",j); } 19、键盘输入10个数,输出10个数的和(指向一维数组的指针实现)。 (难) #include intmain() { int*p,i,j=0,a[10]; for(i=0;i<10;i++) { scanf("%d",&a[i]); p=&a[i]; j=j+*p; } printf("%d\n",j); } 20、键盘输入10个数,输出10个数的最大值(指向一维数组的指针实现)。 (难) #include intmain() { int*p,i,max,a[10]; for(i=0;i<10;i++) scanf("%d",&a[i]); p=a; max=a[0]; for(i=1;i<10;i++) if(max<*(p+i)) max=*(p+i); printf("max=%d\n",max); } 九、数据类型(10道抽1道,写代码) structstudent { }; 21、定义一个日期结构体变量(年、月、日),定义包含3个日期信息的数组,输出这些日期信息。 (较难) #include intmain() { structdate { inty; intm; intd; }; structdates[3]={{2015,4,28},{2015,3,4},{2015,3,5}}; inti; for(i=0;i<=2;i++) printf("%d%d%d\n",s[i].y,s[i].m,s[i].d); return0; } 22、定义一个结构体,管理员工的信息(工号,姓名,工资),定义包含3个员工信息的数组,输出这些员工信息记录。 (较难) #include intmain() { structygxx { intgh; charxm[10]; floatgz; }; structygxxs[3]={{001,"xiao",2800},{002,"adsd",40000},{003,"fdag",5000}}; inti; for(i=0;i<=2;i++) printf("%d%s%f\n",s[i].gh,s[i].xm,s[i].gz); return0; } 23、定义一个结构体,管理学生的成绩(姓名,学号,成绩),定义包含3个学生信息的数组,输出这些学生信息记录。 (较难) #include intmain() { structygxx { charxm[10]; intxh; floatcj; }; structygxxs[3]={{"yang",001,80},{"wang",002,94},{"zhang",003,89}}; inti; for(i=0;i<=2;i++) printf("%s%d%f\n",s[i].xm,s[i].xh,s[i].cj); return0; } 24、定义一个结构体,管理学生的成绩(姓名,学号,成绩),从键盘输入3个学生的数据后,求平均成绩。 (难) #include intmain() { structygxx { charxm[10]; intxh; floatcj; }s[3]; inti; floatsum=0,avg=0; for(i=0;i<=2;i++) { scanf("%s%d%f",s[i].xm,&s[i].xh,&s[i].cj); sum+=s[i].cj; } avg=sum/3; printf("avg=%0.1f\n",avg); return0; } 25、定义一个结构体,管理学生的成绩(姓名,学号,成绩),从键盘输入5个学生的数据后,求最高分。 (难) #include intmain() { structygxx { charxm[10]; intxh; floatcj; }s[5]; inti,j; floatmax; for(i=0;i<=4;i++) scanf("%s%d%f",s[i].xm,&s[i].xh,&s[i].cj); max=s[0].cj; for(j=1;j<=4;j++) if(max max=s[j].cj; printf("max=%0.1f\n",max); return0; } 26、定义一个结构体,管理学生的成绩(姓名,学号,成绩),从键盘输入5个学生的数据后,求5个学生的总成绩。 (难) #include intmain() { structygxx { charxm[10]; intxh; floatcj; }s[5]; inti; floatsum=0; for(i=0;i<=4;i++) { scanf("%s%d%f",s[i].xm,&s[i].xh,&s[i].cj); sum+=s[i].cj; } printf("sum=%0.1f\n",sum); return0; } enum[枚举名]{枚举元素列表}; 27、定义一个结构体表示日期,包含年、月、日、星期,其中星期用枚举类型实现,用今天的日期将其初始化。 (难) #include intmain() { enumWeekday{sun,mon,tue,wed,thu,fri,sat}; enumWeekdayi; structdate { inty; intm; intd; }; structdates={2015,7,2}; i=wed; return0; } 28、定义一个结构体表示日期,包含年、月、日、星期,其中星期用枚举类型实现,用(2015-4-28星期二)将其初始化。 (难) #include intmain() { enumWeekday{sun,mon,tue,wed,thu,fri,sat}; enumWeekdayi; structdate { inty; intm; intd; }; structdates={2015,4,28}; i=tue; return0; } 29、编写一个函数,向一个动态链表插入结点。 (难) 30、编写一个函数,删除动态链表中某结点。 (难)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 14 程序设计 基础 题库 语言 68 更新