c语音Word文档下载推荐.docx
- 文档编号:8233476
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:20
- 大小:22.66KB
c语音Word文档下载推荐.docx
《c语音Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c语音Word文档下载推荐.docx(20页珍藏版)》请在冰点文库上搜索。
printf(“\nPleaseEnteravalueofn”);
scanf(“%d”,&
n);
printf(“A%d=%f\n”,n,fun);
/*$ERROR3$*/printf(“A%d=%f\n”,n,fun(n));
4.让计算机出10道100以内的整数加法题,让学生回答,回答正确时,计算机提示“正确”,错误时提示“错误”,并统计做对的题数。
#include<
stdio.h>
{inta,b,c,I,n=0;
radomize();
{a=random(100);
b=random(100);
printf(“%4d\n”,a);
printf(“%c%3d\n”,’+’,b);
printf(“=\n”);
printf(“?
”);
scanf(“%d”,c);
/*$ERROR1$*/&
c
if(c=a+b)/*$ERROR2$*/c==a+b
{printf(“right\n”);
n=n+1;
elseprintf(“wrong\n”);
printf(“RightTotal=%d!
”,n);
5.下面程序的功能是输出字符串。
{char*a[]={“English”,”Chinese”,”American”,French”};
char**p;
**p;
Intj=0;
p=a;
for(;
j<
=4;
j++)/*$ERROR1$*/for(;
4;
j++)
printf(“%s\n”,*p);
/*$ERROR2$*/*p++
6.下面程序先打印所给的前三个字符串。
然后再打印前三个字符串的有首字符,请找出程序中的错误。
{charalpha[5]={“a”,”bc”,”def”,”1”,”23”},**p;
/*$ERROR1$*/char*alpha[5]={“a”,”bc”,”def”,”1”,”23”},**p*/
intI;
p=alpha;
for9i=0;
3;
i++,p++)
printf(“%s”,**p);
/*$ERROR2$*/*p
printf(“\n”);
p=p-3;
printf(“%c\t”,*p);
/*$ERROR3$*/**p
7.以下程序分别在A数组和B数组中放入AN+1和BN+1个由小到大的有序数,程序把两个数组中的数按由小到大的顺序归并到C数组中。
#includ<
{inta[10]={1,2,5,8,9,10},an=5;
intb[10]={1,3,4,8,12,18},bn=5;
intI,j,c[20],max=9999;
a[an]=b[bn]=max;
/*$ERROR1$*/a[an+1]=b[bn+1]=max;
i=j=k=0;
while((a[i]!
=max&
&
b[i]!
=max))/*$ERROR2$*/while((a[i]!
=max)||b[j]!
=max))
b[j]){c[k]=a[i];
k++,i++}
else{c[k]=b[k];
k++,j++}/*$ERROR3$*/else{c[k]=b[j];
k++;
j++};
k;
printf(“%4d”,c[i]);
*8.以下程序是将输入的十进制数转换为二进制数输出。
{inty,i=0,j,a[16];
y);
do
{a[i++]=y%2;
/*ERROE1*/
y/=2;
}while(y>
=0);
/*ERROE2*/while(y)或while(y>
0)
for(j=i;
j>
j--)/*ERROE3*/for(j=i-1;
j--)
printf(“%d”,a[j]);
}
9.以下程序判断输入的字符串是否是“同文”(即顺读和倒读都一样,例如:
LEVEL).
string.h>
main()
{chars[81];
inti,j,n;
getsa(s);
n=strlen(s);
i=0;
j=n;
/*ERROE1*/j=i-1;
while(“s[i]==”)i++;
while(“s[j]==”)i--;
while(i<
j||s[i]==s[j])/*ERROE2*/while(i<
j&
s[i]==s[j])
{i++;
j--;
if(i>
j)printf(“No\n”);
/*ERROE3*/if(i<
elseprintf(“Yes\n”);
题目10:
下列程序中,函数FUN的功能是:
计算并输出K以内最大的10个能被13或17整除的自然数之和。
intfun(intk)
{intm=0,mc=0;
while((k>
=13)||(mc<
10))/*ERROE1*/while((k>
=13)&
(mc<
10))
{if((k%13==0)&
(k%17==0))/*ERROE2*/if((k%13==0)||(k%17==0))
{m+=k;
mc++;
/*ERROE3*/k--;
return(m);
printf(“%d\n”,fun(500));
题目11:
以下程序将输入的数字字符序列转化成一个整数。
{charc[10];
inti=0,j;
longk=0;
gets(c);
j=strlen(c);
i<
j;
i++)
if(c[i]>
=’0’||c[i]<
=’9’)/*$ERROR1$*/if(c[i]>
=’0’&
c[i]<
=’9’)
k=k*10+c[i];
-‘0’;
/*$ERROR2$*/k=k*10+c[i]-‘0’;
printf(“k=%d\n”,k);
/*$ERROR3$*/printf(“k=%ld\n”,k);
*题目12:
以下程序计算200以内的其平方具有回文性质的正整数的数目如:
11^2=121,121^2=12321
sqrtes(intx)
{intsy;
s=x*x;
y=0;
while(s)
{y=y*10+s/10;
s=s%10;
if(y=x*x)return;
elsereturn0;
{intn,count=0;
for(n=10;
n<
200;
n++)
if(sqrtes(n)){count++:
printf(“n=%3d,n*n=5d\n”,n,n*n);
printf(“count=%d\n”,count);
*题目13:
以下程序将十进制正整数n转换成十六进制数,并存入字符串str中。
{unsignedn,h;
inti=0;
printf(“inputadecimalnumberton;
do
{h=n/16;
/*$ERROR|$*/{h=n%16;
str[i++]=(h<
=9)?
h+’0’:
h+’A’-10;
n=n%16;
/*$ERROR2|$*/n=n/16;
}while(n);
for(--i,i>
)
printf(“%s”,str[i--]);
/*$ERROR3$*/pintf(%c”,str[i--]);
pintf(“\n”);
题目14:
以下程序能够将字符串
str1和字符串str2合并成一个新字符串str3.
{charstr1[30],str2[20],str3[60];
inti=0,j=0;
printf(“Enterfirststring:
”)gets(str1);
printf(“Entersecondstring:
”)gets(str2);
while(str1[i]){str1[i]=str[i];
i++}/*$ERROR1$*/while(str1[i]){str1[i]=str[i];
i++}
while(str2[j]){str1[j]=str[j++];
j++}/*$ERROR2$*/while(str2[i]){str2[j++]=str[j];
j++;
str1[i]=”0”;
/*$ERROR3$*/str1[i]=”0”;
printf(“str=%s\n”,str);
题目15:
以下程序实现字符串反向存储。
{charstr[70],ch,*p.*temp;
printf(“Enterstringtostr:
scanf(“%s”,str);
p=str;
temp=str;
while(temp)temp++;
/*$ERROR1$*/While(temp)temp++;
temp--;
/*$ERROR2$*/Temp--;
while(p>
temp)/*$ERROR3$*/While(p<
temp)
ch=*p.*p++=*temp.*temp--=ch;
printf(“string=%s\n”,str);
题目1:
计算学生的平均成绩和不及格的人数。
structstu
{intnum;
char*name;
charsex;
floatscore;
};
{float_student[5]={{101,”liping”,’M’,45},/*$BLANK1$*//*structstu*/
{102,”zhangping”,’M’,62.5},
{103,”hefeng”,’F’,92.5},
{104,”chengling”,’F’,87},
{105,”wangming”,’M’,58},
};
inti,c=0;
floatave,s=0:
For(i=o;
5;
{s+=_;
/*$BLANK2$*//*struct[i],score;
*/
if(_<
60)c++:
/*BLANK3*//*struct[i],score*/
ave=s/5;
printf(“average=%f\ncount=%d\n”,ave.c);
题目2:
完善程序,使55数组的对角线元素为1,其它为0,即输出5*5的对角矩阵。
{intj,k,a[5][5];
for(j=0;
j++)
for(k=0;
k<
k++)
{if(_)/*$BLANK1$*//*k==j*/
_/*$BLANK2$*//*a[j][k]=1*/
else_;
/*$BLANK3$*//*a[j][k]=0*/
s;
{for(k=0;
k++)printf(“%d”,a[j][k]);
frintf(“\n”);
}}
题目3:
编制函数acopy().将数组的内容复制到b数组中(以-999作结束标志)程序未完成,请填空。
#include<
voidacopy(_)/*$BLANK1$*//*voidacopy(inta[],intb[])*/
{inti=0
while(a[i]!
=-999
{_;
/*$BLANK2$*//*b[i]=a[i]*/
i++;
b[i]=a[10];
{staticinta[]={1,3,5,7,9,2,4,6,8,10,-999};
intb[80],i=0;
_;
/*$BLANK3$*//*acopy(a,b)*/
while(b[i]!
=-999)printf(%d”,b[i++]);
题目4:
以下程序用函数的递归调用打印n的阶乘值,请填空。
Longfac(intn)
{longf;
if(n<
0)printf(“n<
0,dateerror”);
elseif(n==0||n==1)f=1;
elsef=n*fac(n-1);
/*$BLANK1$*//*elsef=n*fac(n-1);
return(f);
/*$BLANK2$*//*return(f);
longy;
printf(“inputaintegernumber:
scanf(“%d”,&
y=fac(n);
/*$BLANK3$*//y=fac(n);
printf(“%d!
=%ld”,n,y);
题目5:
有一个3*4的矩阵,要求编程以求出其中最大的那个元素,以及它在的行号和列号。
程序如下:
main()
{inti,j,row,col,max;
staticinta[3][4]={{3,5,1,8},{6,4,11,7},{9,3,10,2}};
max=_;
/*$BLANK1$*//*a[0][0]*/
;
for(j=0;
if(—)/*$BLANK2$*//*a[i][j]>
max*/
{max=_;
/*$BLANK2$*//*max=a[i][j]*/
row=i;
col=j;
8.删除一个字符串中的某个特定字符(设本例中要删除的特定字符为S)。
{chara[]=”thisisabook”;
charc=’s’;
inti,j=0;
a[i]!
=’\0’;
i++)/*$blank1$*/‘/o’/
if(a[i]!
=c)/*$blank2$*/c
a[j++]=a[i];
a[j]=’\0’;
/*$blank3$*/a[j]
printf(“%s”,a);
9.用冒泡法对10个数排序(从小到大)。
{inta[11];
inti,j,t;
printf(“Enter10numbers:
for(j=1;
11;
scanf(“%d”,____);
/*$blank1$*/&
a[j]
=9;
=10-j;
i++)/*$blank2$*/a10-j
if(__________)/*$blank1$*/a[i]>
a[i+1]
{t=a[i];
a[i]=a[i+1];
a[i+]=t;
printf(“Thesortednumbers:
printf(“%d”,a[i]);
10.以下程序中,主函数调用了LINEMAX函数,实现N行M列的二维数组中,找出每一行上的最大值。
#defineN3
#defineM4
Voidlinemax(inta[N][M])
{intI,j,p;
For(i=0;
N;
{p=0;
For(j=1;
M;
Ifa[i][p]<
a[i][j])
___________;
/*$blank1$*/p=j
Printf(“Themaxvalueinline%dis%d\n”,i,_____)/*$blank2$*/a[i][p]
11.编程输出以下的杨辉三角(输出前10行)。
1
11
121
1331
14641
1615201561
……
#defineN10
{inti,j,a[N][N];
i++){a[i][i]=1;
_____=1;
}/*$blank1$*/a[i][o]
for(i=2;
=i-1;
a[i][j]=a[i-1][j-1]+a[i-1][j];
/*$blank2$*/a[i-1][j-1]+a[i-1][j]
{for(j=0;
_______;
a[i][j]);
/*$blank3$*/j<
=i
printf(“%5d”,a[i][j]);
12.写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用出这两个函数并输出结果。
{intm,n,cd,cm;
printf(“inputtwonumbers,please:
scanf(“%d%d”,&
m,&
cd=gcd(m,n);
cm=gcm(__________);
/*$blank1$*/m,n,cd
printf(“gcd=%d\n”,cd);
printf(“gcm=%d\n”,cm);
intgcd(inta,intb)
{intt;
if(a<
b)
{t=a;
a=b;
b=t;
while(_______)/*$blank2$*/b!
=0
{t=_______;
}/*$blank3$*/a
return(a);
intgcm(inta,intb,inth)
{returna*b/h;
13.求数组的平均值。
floatmean(____________________)/*$blank1$*/int*x,intnum
{inti;
floatavg;
for(______,i=0;
num;
i++)/*$blank2$*/avg=0
avg+=x[i];
avg/=num;
__________;
/*$blank3$*/return(avg)
12,以下程序输出如下图所示的九九表。
123456789
1
24
369
481216
510152025
61218243036
7142128354249
816243240485664
91827364554637281
{inti,j;
i++)/*$BLANK1$*//*I<
10*/
printf(“%4d”,i);
printf(“\n--------------------\n”):
for(j=1;
j++)/*$BLANK2$*//*j<
=i*/
printf(j==i)?
_:
”%4d”,I*j);
}/*$BLANK3$*//*”%4d\n”*/
13.已知一个首项大于0的等差数列前四项之和是20,积是880,求该四项之值。
main()
{intsum,product,dif,a1,a2,a3,a4;
for(a1=1;
a1<
a1++)
for(dif=1;
dif<
dif++)
{a2=a1+dif;
a3=a1+2*dif;
a4=a1=3*dif;
_=a1+a2+a3+a4;
/*$BLANK1$*//*sum*/
_=a1*a2*a3*a4;
/*$BLANK2$*//*product*/
if(sum==26_product==880)/*$BLANK3$*//*”&
”*/
printf(“a1=%2d,a2=%2d,a3=%2d,a4=%2d\n”,a1,a2,a3,a4);
14、以下程序输入一行字符,统计其中每种数字字符的个数,存放到一维数组a中,并输出a中不为0的元素值。
{chaich;
inti,a[10]={0};
while((ch=getchar())!
=_)/*$BLANK1$*//*’\n’*/
if(ch>
=’0’_ch<
=’9’)/*$BLANK2$*//*”&
a[ch-‘0’]++
for(i=0;
if(_!
=0)/*$BLANK3$*//*”a[i]”*/
printf(“a{%d}=%d\n”,i,a[i]);
15、以下程序编写了一个求n*n数组a的两条对角线上元素之和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语音