c语言上机编程题Word格式.docx
- 文档编号:21961505
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:10
- 大小:17.68KB
c语言上机编程题Word格式.docx
《c语言上机编程题Word格式.docx》由会员分享,可在线阅读,更多相关《c语言上机编程题Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
}
returncount;
main()
{
char*s="
3kjsdf7/kj8655x"
;
printf("
%s\n"
s);
%d\n"
fun(s));
}
2、编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。
(注意:
主函数中用****作为结束输入的标志,函数fun中给出的语句仅供参考。
注意:
部分源程序在文件PROG1.C中。
#include
voidfun(char(*a)[81],intnum,char**max)
{
/*以下代码仅供参考*/
inti,k=0,len,maxlen;
/*k为a数组中最长串所在元素的下标,初始为0,maxlen为其串长*/
maxlen=strlen(a[k]);
for(i=1;
i
{
/*以下完成查找最长串*/
}
*max=a[k];
}
charss[10][81],*ps;
void
intn,i=0;
输入若干个字符串:
"
);
gets(ss[i]);
puts(ss[i]);
while(!
strcmp(ss[i],"
****"
)==0)
i++;
n=i;
fun(ss,n,&
ps);
\nmax=%s\n"
ps);
2、len=strlen(a[i]);
if(maxlen
{k=i;
maxlen=len;
}
3、请编写函数fun,它的功能是:
求出ss所指字符串中指定字符的个数,并返回此值。
例如,若输入字符串:
123412132,输入字符为:
1,则输出:
3。
部分源程序在文件PROG1.C中。
#define
M81
intfun(char*ss,charc)
{3、intcount=0;
while(*ss!
='
if(*ss==c)
count++;
ss++;
char
a[M],ch;
void
\nPleaseenterastring:
gets(a);
\nPleaseenterachar:
ch=getchar();
\nThenumberofthecharis:
%d\n"
fun(a,ch));
4、规定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:
将字符串中的前导*号全部删除,中间和尾部的*号不删除。
例如,字符串中的内容为:
*******A*BC*DEF*G****,删除后,字符串中的内容应当是:
A*BC*DEF*G****。
在编写函数时,不得使用C语言提供的字符串函数。
void
fun(char*a)
{
inti,len=0;
while(a[len]=='
*'
)
len++;
i=len;
while(a[i]!
{
a[i-len]=a[i];
i++;
}
s[81];
Enterastring:
\n"
gets(s);
fun(s);
Thestringafterdeleted:
puts(s);
5、请编写一个函数voidfun(chara[],charb[],intn),其功能是:
删除一个字符串中指定下标的字符。
其中,a指向原字符串,删除指定字符后的字符串存放在b所指的数组中,n中存放指定的下标。
例如,输入一个字符串:
World,然后输入3,则调用该函数后的结果为:
Word。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#defineLEN20
voidfun(chara[],charb[],intn)
{5、
a[n]=0;
strcpy(b,a);
strcat(b,a+strlen(a)+1);
main()
charstr1[LEN],str2[LEN];
intn;
Enterthestring:
);
gets(str1);
Entertheindexofthechardeleted:
scanf("
%d"
&
n);
fun(str1,str2,n);
Thenewstringis:
%s\n"
str2);
2012年计算机二级C语言50套程序编写上机题及答案
来源:
考试大
【考试大:
你最佳的考试选择】
2011年10月29日
导读:
2012年计算机二级C语言50套程序编写上机题及答案根据新教材量身定做的,试题难度和考查范围符合考试大纲的要求,适合大家在看教材的同时,配套练习使用。
6、请编写一个函数
unsigned
fun(unsigned
w),w是一个大于10的无符号整数,若w是n(n≥2)位的整数,函数求出w的低n-1位的数作为函数值返回。
例如:
w值为5923,则函数返回923;
w值为923则函数返回23。
部分源程序存在文件PROG1.C中。
unsigned
w)
{unsignednum=w,n=1;
while(num!
=0)
num=num/10;
n=n*10;
n=n/10;
returnw%n;
x;
printf("
Enteraunsignedintegernumber:
"
);
scanf("
%u"
x);
Theoriginaldatais:
%u\n"
x);
if(x<
10
)printf("
Dataerror!
elseprintf("
Theresult
:
fun(x));
7、假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:
除了字符串前导和尾部的*号之外,将串中其它*号全部删除。
形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。
****A*BC*DEF*G********,删除后,字符串中的内容应当是:
****ABCDEFG********。
fun(char*a,char*h,char*p)
{
s[81],*t,*f;
t=f=s;
while(*t)t++;
t--;
while(*t=='
)t--;
while(*f=='
)f++;
fun(s,f,t);
8、已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。
请编写函数fun,函数的功能是:
找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。
部分源程序存在文件PROG1.C文件中。
N
10
typedef
struct
ss
num[10];
int
s;
}STU;
voidfun(
STU
a[],STU
*s
)
main()
a[N]={{"
A01"
81},{"
A02"
89},{"
A03"
66},{"
A04"
87},{"
A05"
77},
{"
A06"
90},{"
A07"
79},{"
A08"
61},{"
A09"
80},{"
A10"
71}},m
;
i;
*****Theoriginaldata*****\n"
for(i=0;
i<
N;
i++)printf("
No=%s
Mark=%d\n"
a[i].num,a[i].s);
fun(a,&
m);
printf("
*****THE
RESULT*****\n"
Thelowest
%s,%d\n"
m.num,m.s);
程序编写题参考答案
1、
intcount=0;
3、intcount=0;
4、
5、
6、
unsignednum=w,n=1;
7、
char*r,*q;
for(q=p;
q>
h;
q--)
if(*q=='
r=q;
while(*r!
*r=*(r+1);
r++;
8、
inti;
*s=a[0];
for(i=1;
i<
i++)
if((*s).s>
a[i].s)
*s=a[i];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 上机 编程