14级程序设计基础题库c语言68更新2.docx

上传人:b****6 文档编号:4080398 上传时间:2022-11-27 格式:DOCX 页数:15 大小:17.34KB
下载 相关 举报
14级程序设计基础题库c语言68更新2.docx_第1页
第1页 / 共15页
14级程序设计基础题库c语言68更新2.docx_第2页
第2页 / 共15页
14级程序设计基础题库c语言68更新2.docx_第3页
第3页 / 共15页
14级程序设计基础题库c语言68更新2.docx_第4页
第4页 / 共15页
14级程序设计基础题库c语言68更新2.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

14级程序设计基础题库c语言68更新2.docx

《14级程序设计基础题库c语言68更新2.docx》由会员分享,可在线阅读,更多相关《14级程序设计基础题库c语言68更新2.docx(15页珍藏版)》请在冰豆网上搜索。

14级程序设计基础题库c语言68更新2.docx

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、编写一个函数,删除动态链表中某结点。

(难)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1