C语言试题文档格式.docx
- 文档编号:17271436
- 上传时间:2022-11-30
- 格式:DOCX
- 页数:50
- 大小:31.15KB
C语言试题文档格式.docx
《C语言试题文档格式.docx》由会员分享,可在线阅读,更多相关《C语言试题文档格式.docx(50页珍藏版)》请在冰豆网上搜索。
\t"
p=p-3;
%c\t"
*p);
\n"
3
以下程序分别在a数组和b数组中放入an+1和bn+1个由小到大的有序数,程序把两个数组中的数按由小到大的顺序归并到c数组中。
#include<
stdio.h>
{inta[10]={1,2,5,8,9,10},an=5;
intb[10]={1,3,4,8,12,18},bn=5;
inti,j,k,c[20],max=9999;
a[an]=b[bn]=max;
i=j=k=0;
while((a[i]!
=max)&
&
(b[j]!
=max))/*$ERROR2$*/
if(a[i]<
b[j]){c[k]=a[i];
k++;
i++;
else{c[k]=b[k];
j++;
}/*$ERROR3$*/
k;
%4d"
c[i]);
4
以下程序判断输入的字符串是否“回文”(即顺读和倒读都一样,例如:
LEVEL,a1221a)。
string.h>
{chars[81];
inti,j,n;
gets(s);
n=strlen(s);
i=0;
j=n;
while(s[i]=='
'
)i++;
while(s[j]=='
)j--;
while(i<
j||s[i]==s[j])/*$ERROR2$*/
{i++;
j--;
if(i>
j)printf("
No\n"
elseprintf("
Yes\n"
}
5
以下程序将输入的数字字符序列转化成一个整数。
#include<
{charc[10];
inti=0,j;
longk=0;
gets(c);
j=strlen(c);
for(;
j;
if(c[i]>
='
0'
||c[i]<
9'
)/*$ERROR1$*/
k=k*10+c[i];
k=%d\n"
k);
/*$ERROR3$*/
6
以下程序计算200以内的其平方具有回文性质的正整数的数目。
例如
11^2=121,111^2=12321都是满足条件的正整数。
sqrtest(intx)
{ints,y;
s=x*x;
y=0;
while(s)
{y=y*10+s/10;
s=s%10;
if(y!
=x*x)return1;
elsereturn0;
{intn,count=0;
for(n=10;
n<
200;
n++)
if(sqrtest(n)){count++;
printf("
n=%3d,n*n=%d\n"
n,n*n);
count=%d\n"
count);
7
以下程序将十进制正整数n转换成十六进制数,并存入字符串str中。
{unsignedn,h;
inti=0;
charstr[4];
InputadecimalNumberton:
"
do
{h=n/16;
str[i++]=(h<
=9)?
h+'
:
h+'
A'
-10;
n=n%16;
}while(n);
for(--i;
i>
=0;
)
str[i--]);
8
以下程序能够将字符串str1和字符串str2合并成一个新字符串str3。
{charstr1[30],str2[20],str[60];
inti=0,j=0;
Enterfirststring:
gets(str1);
Entersecondstring:
gets(str2);
while(str1[i])str[i]=str1[i];
while(str2[j]){str[i++]=str2[j];
}/*$ERROR2$*/
str[i]="
\0"
;
str=%s\n"
str);
9
以下程序实现将字符串反向存储。
{charstr[70],ch,*p,*temp;
Enterstringtostr:
str);
p=str;
temp=str;
while(temp)temp++;
*temp--;
while(p>
temp)/*$ERROR3$*/
ch=*p,*p++=*temp,*temp--=ch;
string=%s\n"
10
随机输入10个数,选出其中的最大数。
程序如下:
inti,max,a[10];
input10number:
=10;
i++)/*$ERROR1$*/
a[i]);
max=a[0];
for(i=1;
10;
if(a[i]>
a[0])/*$ERROR3$*/
max=a[i];
minnum=%d\n"
max);
11
下面程序的功能是输出a数组中的所有字符串。
char*a[]={"
Followme"
Basic"
TurboC"
Fortran"
};
char*p;
p=a;
while(p<
=a+4)/*$ERROR2$*/
%s\n"
*(++p));
12
以下程序是用函数实现“冒泡法”对输入的n个字符按由小到大排列,并在主函数中调用。
string.h"
voidsort(charstr[],intn)
inti,j;
chart;
for(j=1;
j<
n;
j++)
if(str[i]<
str[i+1])/*$ERROR2$*/
{
t=str[i];
str[i]=str[i+1];
str[i+1]=t;
{charstr[81];
intlen;
gets(str);
len=strlen(str);
sort(str[],len);
Sortedstring:
13
将一个数组中的值按逆序重新存放。
例如原来顺序为:
8、16、5、4、11。
要求改为:
11、4、5、16、8。
#defineN5
inta[N],i,t;
N;
Oldarraya:
%6d"
i++)/*$ERROR2$*/
t=a[i];
a[i]=a[N-i-1];
a[N-i-1]=t;
\nNewarraya:
14
判断某一年是否是闰年。
闰年的条件是符合下面二者之一:
(1)能被4整除,但不能被100整除。
(2)能被400整除。
main()
intyear,leap;
year);
if(year%4==0||year%100!
=0&
year%400==0)/*$ERROR2$*/
leap=1;
else
leap=0;
if(leap=1)/*$ERROR3$*/
%disaleapyear\n"
%disnotaleapyear\n"
15
以下程序是求1至1000之间满足“用3除余2;
用5除余3;
用7除余2”的数,且一行只打印5个数。
inti=1,j=0;
do{
if(i%3==2||i%5==3||i%7==2)/*$ERROR1$*/
i);
j++;
if(j/5==0)/*$ERROR2$*/
i++;
while(i>
1000);
16
有10个字符串,下面程序的功能是在每个字符串中,找出最大的字符按一一对应的顺序放入一维数组a中,即第i个字符串中的最大字符放入a[i]中,输出每个字符串中的最大字符。
{chars[10][20],a[10];
gets(s);
/*$ERROR1$*/
a[i]=0;
/*$ERROR2$*/
s[i][j]!
\0'
if(a[i]>
s[i][j])/*$ERROR3$*/
a[i]=s[i][j];
i++)printf("
%d:
%c"
i,a[i]);
17
设数组a包括10个整型元素,下面程序的功能是:
求出数组a中各相邻两个元素的和,并将这些和存在数组b中,按每行3个元素的形式输出。
{inti,a[10],b[10];
inputarraya:
a[i]);
b[i]=a[i]+a[i+1];
i++)/*$ERROR2$*/
{printf("
%5d"
b[i]);
if(i%3!
=0)/*$ERROR3$*/
18
设有三人的姓名和年龄存在结构体数组中,以下程序输出三人年龄居中者的姓名和年龄。
structperson
charname[20];
intage;
};
structper[]={"
LiMing"
18,/*$ERROR1$*/
"
WangHua"
19,
ZhangPing"
20};
inti,max,min;
max=min=per[0];
if(per[i].age>
max)max=per[i].age;
elseif(per[i].age<
min)min=per[i].age;
if(per[i].age!
=max||per[i].age!
=min)/*$ERROR3$*/
%s:
%d\n"
per[i].name,per[i].age);
break;
19
下面程序的功能是:
从键盘输入的一批正整数中求出最大者,输入0时结束循环。
{longa,max=0;
do{
%ld"
a);
if(max>
a)/*$ERROR1$*/
max=a;
}while(!
/**$ERROR21$/
max=%d\n"
/*$ERROR3$*/
20
输出1至100之间满足以下条件的数,条件是组成该数的每位数字的乘积大于每位数字的和(如24:
2*4>
2+4)。
{intn,m,s,k;
for(n=1;
=100;
k=1;
s=0;
n=m;
while(m)
{k*=m%10;
s+=m%10;
m%=10;
if(s>
k)/*$ERROR3$*/
n);
21
选出能被3整除且至少有一位字是5的两位数,打印出所有这样的数及其总个数。
intsub(intk)
{inta1,a2;
a2=k/10;
a1=k-a2;
if(k%3==0||(a1==5&
a2==5))/*$ERROR2$*/
{printf("
return
(1);
elsereturn(-1);
{intn=0,m,k;
for(k=10;
k<
100;
k++)
{m=sub(k);
if(m=1)/*$ERROR3$*/
n++;
\nn=%d\n"
22
求算式xyz+yzz=532中x,y,z的值(其中xyz和yzz分别表示一个三位数)。
intx,y,z,i;
result=532;
for(x=1;
x<
x++)
for(y=1;
y<
y++)
for(z=1;
z<
z++)/*$ERROR2$*/
{i=100*x+y*10+z+100*y+10*z+z;
if(i=result)/*$ERROR3$*/
x=%d,y=%d,z=%d\n"
x,y,z);
23
打印100以内个位数为6且能被3整除的所有的数,输出时每个数据占一行,不要设置输出数据所占的宽度。
inti,x;
i++)/*$ERROR1$*/
{x=i*10+6;
if(x%3!
=0)
%f\n"
x);
24
不用strcat函数,将键盘输入的两个字符串连接起来形成一个新串。
charstr1[40],str2[20];
inti,j=0;
EnterstringNo.1:
EnterstringNo.2:
str2);
str1[i]='
i++);
while((str1[i++]==str2[j])!
\nNewstring:
str1);
25
下面程序的功能是输出字符串。
English"
Chinese"
American"
French"
intj=0;
=4;
j++)/*$ERROR2$*/
*p);
26
以下程序是将输入的十进制数转换为二进制数输出。
{inty,i=0,j,a[16];
y);
a[i]=y%2;
y/=2;
}while(y>
=0);
for(j=i;
j>
j--)/*$ERROR3$*/
a[j]);
27
下列程序中,函数FUN的功能是:
计算并输出K以内最大的10个能被13或17整除的自然数之和。
intfun(intk)
{intm=0,mc=0;
while((k>
=13)||(mc<
10))/*$ERROR1$*/
if((k%13==0)&
(k%17==0))/*$ERROR2$*/
{m+=k;
mc++;
k++;
return(m);
%d\n"
fun(500));
28
下面程序把数组元素的最大值放入a[0]中,请改正程序中的错误。
{inta[10]={4,8,12,3,6,7,20,11,9,5},i;
int*p=a;
i++,p++)/*$ERROR1$*/
if(p>
a[0])/*$ERROR2$*/
*a=*p;
a);
29
统计从键盘输入的文本中的数字字符、空格符、英文字母和其它字符的个数。
inti,ndigit,nwhite,nletter,nother;
charc;
ndigit=nwhite=nletter=nother=0;
while((c=getchar())==EOF)/*$ERROR1$*/
if(c>
||c<
)/*$ERROR2$*/
ndigit++;
elseif(c>
a'
c<
'
z'
||c>
Z'
nletter++;
elseif(c='
||c='
\n'
)/*$ERROR3$*/
nwhite++;
nother++;
ndigit:
%d,nletter:
%d,"
ndigit,nletter);
nwhite:
%d,nother:
nwhite,nother);
30
以下程序的功能是:
找出10个整数中的最大数和最小数,请改正其中的错误。
inti,max,min,a[10];
max=min=a[0];
{if(a[i]>
max)
if(a[i]>
min)/*$ERROR3$*/
min=a[i];
max=%d,min=%d\n"
max,min);
31
输入3个整数,按从小到大的顺序输出。
intn1,n2,n3;
int*pointer1,*pointer2,*pointer3;
pleaseinput3number:
n1,n2,n3:
%d,%d,%d"
n1,n2,n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)