级程序设计基础题库c语言68更新 1Word格式.docx
《级程序设计基础题库c语言68更新 1Word格式.docx》由会员分享,可在线阅读,更多相关《级程序设计基础题库c语言68更新 1Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
=0;
i+)if(stri=a&
stri=z)stri-=32;
puts(str);
7、定义两个字符串,比较两个字符串的长度,输出较长的字符串。
若两个字符串长度相同,则输出第一个字符串。
(较难)#include#includevoidmain()charstr110=bcaefd;
charstr210=gfsdhf;
inti,j;
i=strlen(str1);
j=strlen(str2);
if(ij)puts(str2);
elseputs(str1);
8、定义一字符串,输出字符串中第一个出现字母a的位置,如没有则输出-1。
(难)#includevoidmain()charstr100=bca452adefb543s53d;
inti,n=0;
i+)if(stri=a)n=i;
if(n0)break;
printf(%dn,n+1);
9、定义一字符串,统计该字符串中数字的个数。
(较难)#includevoidmain()charstr100=abc452defb543s53d;
i+)if(stri=0&
stri=9)n+;
printf(%dn,n);
10、定义两个字符串,合并成一个新的字符串并输出。
(较难)#include#includevoidmain()charstr1100=abcdefbsd;
charstr2=3421sd;
printf(%sn,strcat(str1,str2);
七、函数(抽七、函数(抽1道,写代码)道,写代码)注:
在分支结构中任抽一题,要求用函数实现。
(较难)八、指针(八、指针(10道抽道抽1道,写代码)道,写代码)11、定义函数求2个整数的最大值(要求使用指针变量作函数参数来实现)。
(较难)P22612、#includeintmain()voidswap(int*p1,int*p2);
inta,b;
int*p1,*p2;
printf(请输入两个整数给ab:
n);
scanf(%d%d,&
a,&
b);
p1=&
a;
p2=&
b;
if(ab)swap(p1,p2);
printf(max=%dn,a);
return0;
voidswap(int*p1,int*p2)inttemp;
temp=*p1;
*p1=*p2;
*p2=temp;
13、定义函数实现两个float型数的交换(要求使用指针变量作函数参数来实现)(较难)#includeintmain()voidswap(float*p1,float*p2);
floata,b;
float*p1,*p2;
printf(请输入两个数给ab:
scanf(%f%f,&
swap(p1,p2);
printf(a=%0.2fb=%0.2fn,a,b);
voidswap(float*p1,float*p2)floattemp;
14、定义(返回指针)函数求三个数的最大值。
(较难)15、#includeintmain()inta,b,c;
int*max(intx,inty,intz);
scanf(%d%d%d,&
b,&
c);
printf(%dn,*max(a,b,c);
int*max(intx,inty,intz)intf,*q;
f=x;
if(xy)f=y;
if(yz)f=z;
q=&
f;
returnq;
16、定义(返回指针)函数求三个数的和。
(较难)17、#includeintmain()inta,b,c;
f=x+y+z;
18、定义函数求x,y中的较小数(要求用指向函数的指针实现)。
(难)19、P26920、#includeintmain()intmin(int,int);
int(*p)(int,int);
inta,b,c;
(*p)=min;
c=(*p)(a,b);
printf(min=%dn,c);
intmin(intx,inty)if(xy)returny;
elsereturnx;
21、定义函数求x,y中的较大数(要求用指向函数的指针实现)。
(难)22、#includeintmain()intmax(int,int);
(*p)=max;
printf(max=%dn,c);
intmax(intx,inty)if(xy)returny;
23、求一个字符串中的数字字符之和。
(要求用指向字符串的指针实现)(难)24、#include#includeintmain()char*p,a20;
inti,j=0;
gets(a);
i=0&
ai=9)p=(a+i);
j+=*p-48;
printf(%dn,j);
25、输出字符串长度。
(要求用指向字符串的指针实现)(难)26、#include#includevoidmain()char*p,a100;
ai!
i+)p=(a+i);
j+;
27、键盘输入10个数,输出10个数的和(指向一维数组的指针实现)。
(难)28、#includeintmain()int*p,i,j=0,a10;
i10;
i+)scanf(%d,&
ai);
p=&
ai;
j=j+*p;
29、键盘输入10个数,输出10个数的最大值(指向一维数组的指针实现)。
(难)30、#includeintmain()int*p,i,max,a10;
p=a;
max=a0;
for(i=1;
i+)if(max*(p+i)max=*(p+i);
printf(max=%dn,max);
九、数据类九、数据类型(型(10道抽道抽1道,写代码)道,写代码)structstudent;
31、定义一个日期结构体变量(年、月、日),定义包含3个日期信息的数组,输出这些日期信息。
(较难)#includeintmain()structdateinty;
intm;
intd;
structdates3=2015,4,28,2015,3,4,2015,3,5;
i=2;
i+)printf(%d%d%dn,si.y,si.m,si.d);
32、定义一个结构体,管理员工的信息(工号,姓名,工资),定义包含3个员工信息的数组,输出这些员工信息记录。
(较难)#includeintmain()structygxxintgh;
charxm10;
floatgz;
structygxxs3=001,xiao,2800,002,adsd,40000,003,fdag,5000;
i+)printf(%d%s%fn,si.gh,si.xm,si.gz);
33、定义一个结构体,管理学生的成绩(姓名,学号,成绩),定义包含3个学生信息的数组,输出这些学生信息记录。
(较难)#includeintmain()structygxxcharxm10;
intxh;
floatcj;
structygxxs3=yang,001,80,wang,002,94,zhang,003,89;
i+)printf(%s%d%fn,si.xm,si.xh,si.cj);
34、定义一个结构体,管理学生的成绩(姓名,学号,成绩),从键盘输入3个学生的数据后,求平均成绩。
(难)#includeintmain()XX文库-让每个人平等地提升自我structygxxcharxm10;
s3;
floatsum=0,avg=0;
i+)scanf(%s%d%f,si.xm,&
si.xh,&
si.cj);
sum+=si.cj;
avg=sum/3;
printf(avg=%0.1fn,avg);
35、定义一个结构体,管理学生的成绩(姓名,学号,成绩),从键盘输入5个学生的数据后,求最高分。
(难)#includeintmain()structygxxcharxm10;
s5;
floatmax;
i=4;
max=s0.cj;
for(j=1;
j=4;
j+)if(maxsj.cj)max=sj.cj;
printf(max=%0.1fn,max);
36、定义一个结构体,管理学生的成绩(姓名,学号,成绩),从键盘输入5个学生的数据后,求5个学生的总成绩。
floatsum=0;
printf(sum=%0.1fn,sum);
enum枚举名枚举元素列表;
37、定义一个结构体表示日期,包含年、月、日、星期,其中星期用枚举类型实现,用今天的日期将其初始化。
(难)#includeintmain()enumWeekdaysun,mon,tue,wed,thu,fri,sat;
enumWeekdayi;
structdateinty;
structdates=2015,7,2;
i=wed;
38、定义一个结构体表示日期,包含年、月、日、星期,其中星期用枚举类型实现,用(2015-4-28星期二)将其初始化。
structdates=2015,4,28;
i=tue;
39、编写一个函数,向一个动态链表插入结点。
(难)40、编写一个函数,删除动态链表中某结点。
(难)