c语言程序设计向艳书上例题源代码Word格式文档下载.docx
- 文档编号:20258132
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:43
- 大小:25.17KB
c语言程序设计向艳书上例题源代码Word格式文档下载.docx
《c语言程序设计向艳书上例题源代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言程序设计向艳书上例题源代码Word格式文档下载.docx(43页珍藏版)》请在冰豆网上搜索。
r1,&
r2);
s=area(r1,r2);
s=%.2f\n"
s);
4.实参求值顺序的例子
intfun(inta,intb)
if(a>
b)return1;
elseif(a==b)return0;
elsereturn-1;
intk=3,s;
s=fun(k,++k);
s=%d\n"
5.计算Σni=1i
voids(int);
intn;
inputnumber\n"
%d"
n);
s(n);
n=%d\n"
n);
voids(intn)
for(i=n-1;
i>
=1;
i--)
n=n+i;
6.全局变量被“屏蔽”
inta=3,b=5;
max(inta,intb)
intc;
c=a>
b?
a:
b;
return(c);
inta=8;
%d\n"
max(a,b));
7.输入正方体的长宽高,求体积及三个面的面积
ints1,s2,s3;
intv_s(inta,intb,intc)
intv;
v=a*b*c;
s1=a*b;
s2=b*c;
s3=a*c;
returnv;
intv,l,w,h;
\ninputlength,widthandheight\n"
%d%d%d"
l,&
w,&
h);
v=v_s(l,w,h);
\nv=%d,s1=%d,s2=%d,s3=%d\n"
v,s1,s2,s3);
8.用register说明变量的程序
#include<
intfac(intn)
registerinti,f=1;
for(i=1;
=n;
i++);
f=f*i;
returnf;
=5;
%ds!
=%d\n"
i,fac(i));
9.用static说明变量的程序
staticinti,f=1;
f=f*n;
%d!
10.用extern说明变量的程序
externintn;
voidfun()
n-=20;
intn=100;
for(;
n>
=60;
)
{
fun();
}
11.计算s=2^2!
+3^3!
longf1(intp)
intk;
longr;
longf2(int);
k=p*p;
r=f2(k);
returnr;
longf2(intq)
longc=1;
=q;
c=c*i;
returnc;
longs=0;
for(i=2;
=3;
s=s+f1(i);
\ns=%ld\n"
12.用梯形法编程求函数f(x)=x*x+2*x+1的定积分S0~2f(x)dx的值
doublefun(doublex)
doubley;
y=x*x+2*x+1;
returny;
doubledjf(doublen,doublea,doubleb)
doubles=0,h;
h=(b-a)/n;
s+=((fun(a+(i-1)*h)+fun(a+i*h))*h)/2;
return(s);
doubles,n,a,b;
%lf,%lf,%lf"
n,&
s=djf(n,a,b);
s=%.2lf\n"
13.用递归法求n!
longfun(intn)
longf;
if(n==0||n==1)f=1;
elsef=fun(n-1)*n;
return(f);
longy;
\ninputainteagernumber:
y=fun(n);
=%ld"
n,y);
14.Hanoi塔问题
voidmove(intn,charx,chary,charz)
if(n==1)
%c-->
%c\n"
x,z);
else
move(n-1,x,z,y);
move(n-1,y,x,z);
inth;
\ninputnumber:
thesteptomoving%2ddiskes:
h);
move(h,'
a'
'
b'
c'
第七章数组
1.定义一个长度为10的整型一维数组,利用for循环对其中的每个元素赋值,最后利用for循环按逆序输出这十个元素值。
inti,a[10];
for(i=0;
=9;
a[i]=i;
for(i=9;
=0;
printf("
a[i]);
2.编写程序,从键盘输入某班学生某门课的成绩,求出最高分以及其序号。
intmax,score[40];
inti,n,num;
inputtotalnumbers:
scanf("
/*输入学生实际人数*/
inputscore:
n;
score[i]);
max=score[0];
num=0;
for(i=1;
i++)/*求最大值*/
if(score[i]>
max)
{max=score[i];
num=i;
max=%d,num=%d\n"
max,num);
3.从键盘输入某班学生某门课的成绩,然后按分数从低到高进行排序。
inttemp,score[40];
inti,j,n;
n-1;
for(j=0;
j<
n-1-i;
j++)
if(score[j]>
score[j+1])
{temp=score[j];
score[j]=score[j+1];
score[j+1]=temp;
outputscore:
%d"
score[i]);
4.已知数组a中一共有10个已按由小到大排好序的整数。
现从键盘输入一个整数,判断这个数是否是数组a中的数,如果是的话,打印出此数在数组a中的位置,否则打印找不到。
{inta[10],d,h,x,i,m;
pleaseinput10numbers:
"
10;
a[i]);
pleaseinputx:
x);
d=0;
h=9;
while(d<
=h)
{m=(d+h)/2;
if(x==a[m])break;
elseif(x>
a[m])d=m+1;
elseh=m-1;
if(d<
%distheposition%d\n"
x,m);
else
thereisno%d\n"
x);
5.一个学习小组有5个人,每个人有3门课的考试成绩,如表7-1所示。
求全组各科的平均成绩和所有科目的总平均成绩。
inti,j,s=0,average,v[3];
inta[5][3]={{80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85}};
3;
{for(s=0,j=0;
5;
s=s+a[j][i];
v[i]=s/5;
average=(v[0]+v[1]+v[2])/3;
math:
%d\nclanguage:
%d\nFoxpro:
v[0],v[1],v[2]);
total:
average);
6.将一个二维数组的行和列互换,存到另一个二维数组中。
#definem2
#definen3
{inta[m][n]={2,4,6,8,10,12},b[n][m],i,j;
arraya:
m;
i++){
j++){
a[i][j]);
b[j][i]=a[i][j];
arrayb:
b[i][j]);
7.打印如图所示的杨辉三角型:
#defineN15
{inti,j,n,a[N][N];
Inputn(1-15):
a[i][0]=a[i][i]=1;
for(i=2;
for(j=1;
i;
a[i][j]=a[i-1][j-1]+a[i-1][j];
=i;
%6d"
8.打印魔方阵。
所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。
要求打印出由1-n^2(n为奇数)的自然数构成的魔方阵。
{inti,j,k,i1,j1;
inta[n][n]={0};
j=n/2;
i=0;
a[i][j]=1;
for(k=2;
k<
=n*n;
k++)
{i1=i;
j1=j;
i--;
j++;
if(i<
0)i=n-1;
if(j>
n-1)j=0;
if(a[i][j]==0)a[i][j]=k;
else{
i=i1+1;
j=j1;
a[i][j]=k;
{for(j=0;
%4d"
9.初始化二维数组a,并输出各元素的值。
inti,j;
chara[][5]={{'
B'
A'
S'
I'
C'
},{'
d'
E'
}};
for(j=0;
=4;
%c"
10.输入并输出一个一个字符串。
{chara[10],i;
11.用格式符%s对数组进行输入和输出操作。
charstr1[6],str2[6],str3[6];
inputstring:
%s%s%s"
str1,str2,str3);
%s%s%s\n"
12.设有C程序如下:
charstr[15];
%s"
str);
%s\n"
//运行时如果输入:
//thisisabook
//输出结果为:
this
//(字符串长度超过字符数组定义长度)
13.设有C程序如下:
gets(str);
puts(str);
thisisabook
//运行结果为:
14.连接两个字符串。
#include"
string.h"
stdio.h"
charstr1[25]="
Mynameis"
;
charstr2[10];
inputyourname:
gets(str2);
strcat(str1,str2);
puts(str1);
//运行时如果输入:
WangLing
//程序运行结果是:
MynameisWangLing
15.设有C程序如下:
charstr1[15],str2[]="
CLanguage"
strcpy(str1,str2);
16.字符串比较
设有C程序如下:
{intk;
inputastring:
gets(str1);
k=strcmp(str1,str2);
if(k==0)printf("
str1=str2\n"
if(k>
0)printf("
str1>
str2\n"
if(k<
str1<
17.求字符串长度
charstr[]="
k=strlen(str);
Thelenthofthestringis%d\n"
k);
18.输入一个字符串,统计有多少个单词。
单词之间用空格分隔开。
{charstr[80],c;
inti,num=0,flag=0;
pleaseinputstring:
(c=str[i])!
='
\0'
if(c=='
'
)flag=0;
elseif(flag==0)
{flag=1;
num++;
Thereare%dwordsinthestring.\n"
num);
19.输入一个无符号整数,将其转换成二进制字符串并输出。
{unsignedn;
charstr[10],t;
intk,i,j;
Pleaseinput:
%u"
n!
{str[i]=n%2+'
0'
n/=2;
str[i]='
Theresultis:
for(k=0,j=i-1;
j;
k++,j--)
{t=str[k];
str[k]=str[j];
str[j]=t;
puts(str);
20.输入五个国家的名称,并按字母顺序排列输出这些国家的名称。
string.h>
{charstr[20],name[5][20];
inputcountry'
sname:
gets(name[i]);
4;
4-i;
if(strcmp(name[j],name[j+1])>
0)
{strcpy(str,name[j]);
strcpy(name[j],name[j+1]);
strcpy(name[j+1],str);
puts(name[i]);
21.用选择法对十个整数由小到大排序。
voidsort(inta[],intn)
{inti,j,k,t;
{k=i;
for(j=i+i;
if(a[j]<
a[k])k=j;
if(k!
=i)
{t=a[k];
a[k]=a[i];
a[i]=t;
{ints[10],i;
inputthearray:
s[i]);
sort(s,10);
outputthearray:
s[i]);
22.
voidnzp(inta[],intn)
inti;
\nvaluesofarrayaare:
{if(a[i]<
0)a[i]=0;
intb[8],i;
\ninput8numbers:
8;
b[i]);
initialvaluesofarraybare:
b[i]);
nzp(b,8);
\nlastvaluesofarraybare:
for(i=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 书上 例题 源代码