C语言程序设计实验指导书课后答案_第1页
C语言程序设计实验指导书课后答案_第2页
C语言程序设计实验指导书课后答案_第3页
C语言程序设计实验指导书课后答案_第4页
C语言程序设计实验指导书课后答案_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计实验指

导书课后答案

本文档内字体为阿里巴巴普惠体R,CTRL+A全选可调整字体属性及字体大小

-CAL-FENGHALNetworkInformationTechnologyCompany.2020YEAR

实验一

(1)编程求37+29的值,实习VC环境。

#include<>

voidmain()

(

inta,b,sum;

a=37;

b=29;

sum二a+b;

printf(,,sum=%dn,sum);

(2)从键盘输入三个整数,求出最大数并输出。

#include<>

voidmain()

{

inta,b,c,y;

intmax(intx,inty);

printf(Hinputa,b,andc:n);

scanf(n%d,%d,%d\&a,&b,&c);

y=max(a,b);

y=max(y,c);

printf(H\nmax=%d\nn,y);

)

intmax(intx,inty)

(

intz;

if(x>y)z=x;

elsez=y;

return(z);

)

(3)通过上机实践,运行下列程序并分析输出结果。

A程序代码

#include<>

voidmain()

(

charch=,a,;

printf(n%c对应的ASCII码是:%d\n\ch,ch);

)

程序输出结果:a对应的ASCII码是:97

2

B程序代码

#include<>

voidmain()

(

inta=168;

floatb=;

floatx=,y;

printf("a=%5d\n”,a);

printf(na=%-5d\n",a);

printf(”b=%\n”,b);

printf(nb=%e\n",b);

y=(int)(x*100+/;

printf(,'x=f,y=%f\n,',x,y);

)

程序输出结果:

a=168

a=168

b==+002

x=f,y=

C程序代码

#include<>

voidmain()

(

inta=168;

printf("十进制数%d对应的八进制数是%o\n",a,a);

printf("十进制数%d对应的十六进制数是%x\n",a,a);

)

程序输出结果:

十进制数168对应的八进制数是250

十进制数168对应的十六进制数是a8

3

实验二

顺序结构

已知a=,b=,c=,计算s=b2-4ac的结果并输出。

#include<>

voidmain()

(

floata,b,c,s;

a二;

b=;

c=;

s二b*b-4*a*c;

printf(ns的值是%f\n*s);

输入某学生的三个科目的期末考试成绩,计算出该学生的成绩总分和平均分。

#include<>

voidmain()

(

intmath,english,c_program;

floatsum,average;

print:“inputmath,english,c_program:n);

scanf(n%d,%d,%dH,&math,&english,&c_program);

sum=math+english+c_program;

average=sum/3;

printf(,,sum=%.0f,average=%.5f,,sum,average);

输入圆的半径,计算圆的面积,设圆周率为.

#include<>

intmain()

(

floatr,s;

printf("请输入半径:");

scanf("%f",&r);

s=*r*r;

printf("圆的面积为%.6F,s);

4

输入一个两位数,将其个位数和十位数互换后变成一个新的数,输出这个数。

#include<>

intmain(void)

{

intn,a,b;

printf(Hinputn:");

scanf(”%d”,&n);

b=n%10;

a=n/10;

n=b*10+a;

printf(n%d\nn,n);

return0;

输入两个数a和b,将两数的值互换后输出新值。

#include<>

voidmain()

(

intx,y,t;

scanf("%d%d",&x,&y);

t=x;

x=y;

y=t;

printf(,,x=%d,y=%d\n,,,x,y);

简单分支结构

输入两个整数,求出其中的较小值输出。

#include<>

intmain()

(

inta,b,min;

printf("请输入a,b:\n");

scanf(0%d,%dn,&a,&b);

if(a<b)

min=a;

else

min=b;

5

printff最小值是%d\n",min);

return0;

输入X的值并计算分段函数y的值。

x产2xx<2

Y=f(x)口

2^-1x>=2

#include<>

intmain(void)

doublex,y;

scanf(n%lfn,&x);

if(x<2)

y=x*x+2*x;

else

y=2*x-l;

printf("%.6f',y);

return0;

输入两个整数并判断两数是否相等,输出相应结论。

#include<>

intmain()

inta,b;

printf("请输入两个整数:\n");

scanf("%d,%d",&a,&b);

if(a==b)

printf("a等于b");

else

printf("a不等于b");

return0;

2.2.4输入一个整数,若为负数,求出它的平方;若为正数,求出它的立方,

并输出结果。

#include<>

voidmain()

printf("请输入一个整数

6

doublex,y;

scanf(n%lf",&x);

if(x<0)

y=x*x;

else

y=X*X*X;

printf(,,y=f(%f)=%f\n,,,x,y);

2.2.5输入三个整数,用if-else结构求出其中的最大值。提示:首先求出两个

数的较大值放在一个变量里,然后用这个变量和第三个数再进行一次比

较。

#include<>

intmain()

(

inta,b,c,max;

printf(”请输入三个数)

scanf(n%d,%d,%dn,&a,&b,&c);

if(a>b)

max=a;

else

max=b;

if(c>max)

max=c;

else

max=a;

printf("最大值为%d大,max);

return0;

)

简单循环结构

2.3.1计算1+4+7+・・・+301。

#include<>

voidmain()

{

inti,sum;

sum=0;

for(i=1;i<=301;i=i+3)

sum=sum+i;

printf(,,sum=%d\n',,sum);

7

2.3.2循环输入某学生八个科目期末考试成绩,计算出该学生成绩总分和平均

分。

#include<>

intmain(void)

(

inti,a;

floatsum,average;

sum=0;

for(i=l;i<=8;i++)

(

scanf("%d",&a);

sum=sum+a;

}

printf("成绩总分为%f\n",sum);

printf("平均分为%f\n",sum/8);

return0;

2.3.3输入n的值,计算n!

#include<>

intmain(void)

(

intn,i,a;

a=l;

printf("请输入n的值:%d\n");

scanf("%d",&n);

for(i=l;i<=n;i++)

a=a*i;

printf("积=%d\n",a);

return0;

}

2.3.4显示l~10平方,输出结果如下图所示:

1*1=1

2*2=4

3*3=9

4*4=16

5*5=25

6*6=36

7*7=49

8*8=64

8

9*9=81

10*10=100

#include<>

intmain(void)

(

inti,a;

for(i=l;i<=10;i++)

(

a=i*i;

printf(n%d*%d=%d\nn,i,i,i*i);

)

return0;

2.3.5计算l-3/4+5/7・7/10+…的前n项之和。

#include<>

voidmain()

(

inti,n;

floatitem,flag,sum;

sum=0;

flag=l;

scanf(n%d",&n);

for(i=l;i<=n;i++)

{

item二flag*(2*i-1)/(3*i-2);

sum二sum+item;flag-flag;

)

printf(n%f\n",sum);

9

实验三

输入一个整数X,判定是否为5的倍数。

#include<>

intmain(void)

(

intx;

printf(nx=n);

scanf(u%d",&x);

if(x%5=0)

printfC能整除5”);

else

printf("不能整除5”);

return0;

)

输入X,计算并输入下列分段函数对应的值。

Px<0

Y=Sx2+20<=x<=l

mx>l

#include<>

intmain(void)

(

floatx,y;

printf("x=");

scanf("%f",&x);

if(x<0)

y=-5;

elseif(x>1)

y=x/2;

else

y=x*x+2;

printf("对应值为%.2f\n",y);

return0;

}

某商场给顾客购物的折扣率如下:

购物金额<300元不打折

300<=购物金额<500元9折

500元<=购物金额7折

要求输入一个购物金额(x),输出打折率(rate)以及购物实际付款金额

(x*rate)

#include<>

intmain(void)

10

intx,y;

printf("x=");

scanf("%d",&x);

if(x<300)

y=x;

printf("不打折,付款%d\n",y);

}

elseif(x>=300&&x<500)

(

y=*x;

printf("打9折,付款%d\n",y);

}

else

printf("打7折,付款%d\n",y);

}

return0;

求解一元二次方程ax?+bx+c=0的实数解。

#include<>

#include<>

intmain(void)

(

inta,b,c,d,xl,x2;

printf("a=,b=,c=");

scanf("%d,%d,%d",&a,&b,&c);

d=b*b-4*a*c;

if(d>0)

(

doublesqrt(doubled);

x1=(-b+sqrt(d))/(2*a);

x2=(-b-sqrt(d))/(2*a);

printf(Hx1=%d\n,x2=%d\nn,xl,x2);

)

elseif(d=O)

(

xl=(-b+sqrt(d))/(2*a);

printf("xl=x2=%d\n",xl);

11

)

else

printff没有实数解)

return0;

从键盘输入10个字符,将所有的英文字母转换为大写后输出。

#include<>

intmain(void)

(

chari,ch;

printff请输入”);

for(i=1;i<=10;i++)

(

ch=getchar();

if(ch>=,a,&&ch<=,z,)

ch=ch-32;

putchar(ch);

)

return0;

)

从键盘输入10个字符,统计其中英文字母、空格、数字字符和其他字符的个

数。

#include<>

intmain(void)

(

charch,i;

intletter,space,digiter,other;

letter=space=digiter=other=0;

for(i=1;i<=10;i++)

(

ch=getchar();

if((ch>=,a,&&ch<=,z,)||(ch>=,A,&&ch<=,z,))

letter++;

elseif(ch==*,||ch==,\n,)

space++;

elseif(ch>=,0,&&ch<=,9,)

digiter++;

else

other++;

12

printf(^^letter=%d,space=%d,digiter:=%d,other=%d\n,^,letter,space,digiter,other

);

return0;

输入一个四位整数的年份,判断是否为闰年。

#include<>

intmain(void)

(

intx,a,b,c;

printf("输入年份:”);

scanf("%d",&x);

a=x%4;

b=x%100;

c=x%400;

if((a==0&&b!=0)||(c==0))

printf("闰年)

else

printf("不是闰年,

return0;

假设自动售货机出售4种商品,薯片、爆米花、巧克力和可乐,售价分别是每

份元、元、元和元。在屏幕上显示以下菜单,用户可以连续查询商品的价格,

当查询次数超过五次时,退出查询;不到五次时,用户可以选择退出。当用户

输入编号1~4,显示对应商品的价格;输入0,退出查询;输入其他编号,显

示价格为0»

#include<>

intmain(void)

(

charprice;

inti;

printf("请输入商品的名称:\n");

for(i=l;i<=5;i++)

(

price=getchar();getchar();

switch(price)

(

caseT:printf("售价元\n");break;

case'2':printf("售价元\n");break;

case3:printf("售价元\n");break;

13

case'4':printf("售价元\n");break;

case'O':printf("退出查询\n");break;

default:printf("价格为0元\n");break;

return0;

}

编写一个程序输入某人的身高(cm)和体重(kg),按下式确定其体重是否为

标准、过胖或过瘦。判断标准为:标准体重=身高-110;超过标准体重5kg

为过胖;低于标准体重5kg为过瘦。

#include<>

intmain(void)

(

intx,y,z;

printf("请输入身高和体重:\n");

scanf("%d,%d",&x,&y);

z=x-l10;

if(y-z>5)

printf("过胖)

elseif(y-z<-5)

printf("过瘦)

else

printf("标准)

return0;

编写一个程序,计算购买某物品的总金额,该物品的单价为5元/公斤,购买5

公斤以上打九折,购买10公斤以上打八折,购买20公斤以上打7折,购买50

公斤以上打6折,购买100公斤以上打5折。(用多分支if语句求解)

#include<>

intmain(void)

floatx,y;

printf("购买量\n");

scanf("%f',&x);

if(x>=5&&x<10)

y=*5*x;

elseif(x>=10&&x<20)

y=*5*x;

elseif(x>=20&&x<50)

y=*5*x;

elseif(x>=50&&x<100)

y=*5*x;

elseif(x>100)

14

y=*5*x;

else

y=5*x;

printf("付款%.2f\n",y);

return0;

)

编写一个程序,输出给定的某年某月的天数。

#include<>

intmain(void)

(

intyear,month,days,leap;

printf("年,月:");

scanf(,,%d,%d',,&year,&month);

switch(month)

(

case1:case3:case5:case7:case8:case10:case12:

days=31;

break;

case4:case6:case9:case11:

days=30;

break;

case2:if(year%4==0&&year%100!=0||year%400==0)

leap=1;

else

leap=0;

if(leap)

days=29;

else

days=28;

)

printf(n%d年%(1月的天数为%(1天\n”,year,month,days);

实验四

输入一批正整数(以零或负数为结束标志)求其中的奇数和。

#include<>

15

#include<>

intmain(void)

(

intdata,sum;

sum=0;

printf("输入一批正整数(以零或负数为结束标志):”);

scanf(n%d",&data);

while(data>0)

(

if(data%2=l)

sum=sum+data;

scanf(n%d",&data);

}

printf("奇数和是%d.\n",sum);

return0;

)

输入两个整数a和n,求a+aa+aaa+.......(n个a)之和。例如输入2和3,输

出246(2+22+222)

提示:可采用递推的方法计算当前项item=item*10+a

#include<>

intmain(void)

(

inta,n,item,i,sum;

i=l;

sum=0;

item=0;

printf("请输入两个整数a和n:");

scanf("%d,%d",&a,&n);

while(i<=n)

(

item=item*10+a;

sum=sum+item;

i=i++;

)

printf("结果为%d\n",sum);

return0;

)

编写程序:计算2/1+3/2+5/3+8/5……的近似值。要求计算前n项之和,保留2

位小数(该序列从第二项起,每一项的分子是前一项分子与分母的和,分母是

前一项的分子)

#include<>

intmain(void)

16

floatn,i,sum,a,b,item;

printf("请输入n的值:”);

scanf("%f”,&n);

sum=0;

i=l;

a=2;

b=l;

item=0;

while(i<=n)

(

sum二sum+a/b;

item=a;

a=a+b;

b=item;

i=i++;

)

printf("结果为%.2f\n”,sum);

return0;

)

编写一个程序,找出被2,3,5整除时余数均为1的最小的10个自然数。

#include<>

intmain(void)

(

intx,i;

i=0;

x=l;

while(i<10)

(

if(x%2==l&&x%3==l&&x%5==l)

(

printf("%d\n",x);

i++;

)

x++;

}

return0;

}

输入一个正整数,求它的位数以及各位数字之和,例如123的位数是3,各位

数字之和是6.

#include<>

intmain(void)

17

intnumber,digit,i,sum;

i=0;

sum=O;

printf("输入一个正整数:”);

scanf(n%dH,&number);

while(number!=O)

{

digit=number%10;

number=number/10;

sum=sum+digit;

i=i++;

printf(n\nn,digit);

printf("该整数的位数是%d\n,各位数字之和是%小-/跳01);

return0;

猴子吃桃问题。猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就

又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃

前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,求第一天

共摘下来多少个桃子

#include<>

intmain(void)

inti,a;

a=l;

for(i=l;i<=9;i++)

(

a=(a+l)*2;

)

printf("一共摘了%d\n个桃子",a);

return0;

求100以内的全部素数,每行输出10个。素数就是只能被1和它本身整除,1

不是素数,2是素数。

#include<>

intmain(void)

inti,m=0,n;

for(n=2;n<=99;n++)

for(i=2;i<=n-l;i++)

if(n%i==O)

18

break;

if(i>=n)

(

printf("%4d",n);

m++;

if(m%10==0)

printf("\n");

return0;

}

有一个四位数,千位上的数字和百位上的数字都被擦掉了,已知十位上的数字

是1,个位上的数字是2,又知道这个数如果减去7就能被7整除,减去8就能

被8整除,减去9就能被9整除。编写一个程序求这个四位数。提示:利用穷

举法来解决该问题。

#include<>

voidmain()

(

intx,m,n;

for(x=1000;x<=9999;x++)

(

m=x%10;

n=x/10%10;

if(m==2&&n==l&&(x-7)%7==0&&(x-8)%8==0&&(x-9)%9==0)

printf("%d\n",x);

取1元、2元和5元的纸币共10张,现在要支付15元。编写程序输出所有的

付法。针对每一种付法,输出各种面额的纸币数量。要求将1元、2元和5元

设置在最合理的取值范围内。

#include<>

intmain()

(

intm,n,k;

for(m=0;m<=10;m++)

(

for(n=0;n<=10;n++)

(

for(k=0;k<=10;k++)

(

if(m+2*n+5*k==15)

19

printf("l元:%(1张《2元:%d张吊5

元:%d\n",m,n,k);

return0;

找出200以内的所有完数,并输出其因子。有一个数的因子之和为该数本身,

称其为完数。提示:使用二重循环嵌套,外层循环针对2~200之间的所有数,

而内层循环对其中的每一个数判断其是否是完数,即判断m的每个因子之和是

否等于m。其中因子是2~m/2之间能被m整除的数。

#include<>

intmain(void)

(

inti,j,k;

for(i=l;i<=200;i++)

(

k=l;

for(j=2;j<=i/2;j++)

(

if(i%j==O)

k=k+j;

)

if(k==i)

(

printf("%d=l",i);

for(j=2;j<=i/2;j++)

if(i%j==O)

printf("+%d",j);

printf("\n");

return0;

请编写程序显示下列输出:

0

01

012

0123

01234

0123

20

012

01

0

#include<>

intmain(void)

(

inti,j;

for(i=0;i<=4;i++)

(

for(j=0;j<=i;j++)

printf("%d",j);

printf("\n");

)

for(i=0;i<=4;i++)

(

for(j=0;j<4-i;j++)

printf("%d",j);

printf("\n");

)

return0;

}

编写程序打出下列图案。

*

***

***

*

#include<>

voidmain()

(

intij;

for(i=l;i<=4;i++)

(

for(j=l;j<=8-(2*i-l);j++)

printf("");

for(j=l;j<=2*i-l;j++)

printfC'*");

21

printf("\n");

)

for(i=2;i<=4;i++)

(

for(j=l;j<=2*i-l;j++)

printf("");

for(j=l;j<=8-(2*i-l);j++)

printf("*");

printf("\n");

实验五

输入两个整形变量ab的值,输出a+b,a-b,a*b,a/b,(float)a/b,a%b的结果,要求

算式的结果连同算式一起输出,每个算式占一行。

#include<>

voidmain()

22

inta,b;

scanf(H%d%dn,&a,&b);

printf("%d+%d=%d\n”,a,b,a+b);

printf(,,%d-%d=%d\n,,,a,b,a-b);

printf(,1%d*%d=%d\nn,a,b,a*b);

printf(,'%d/%d=%d\n',,a,b,a/b);

printf(n(float)%d/%d=%f\nn,a,b,(float)a/b);

printf(n%d%%%d=%d\n",a,b,a%b);

求前驱字符和后继字符。输入一个英文字符,找出它的前驱字符和后继字符,

并按字符的ASCII码值从大到小的顺序输出这三个字符及其对应的ASCH码

值。

#include<>

intmain(void)

(

charch,before,after;

ch=getchar();

before=ch-1;

aftei-ch+1;

if(before<,A|||(before<*a,&&before>,Z,))

(

befbre=befbre+26;

printf(n%c%c%c%d%d%d\n",before,after,ch,before,after,ch);

)

elseif(after>,z|||(after>,Z,&&after<'a'))

(

after=after-26;

printf(u%c%c%c%d%d%d\n",ch,before,after,ch,before,after);

)

else

printf(n%c%c%c%d%d%d\n",after,ch,before,after,ch,before);

输入某个点A的平面坐标(x,y),判断(输出)A点是在圆内、圆外还是在圆

周上,其中圆心坐标为(2,2),半径为1.

#include<>

intmain(void)

floatx,y;

scanf("%f%f",&x,&y);

23

if((x-2)*(x-2)+(y-2)*(y-2)==1)

printf(”点A在圆上)

elseif((x-2)*(x-2)+(y-2)*(y-2)<1)

printf(”点A在圆内)

else

printf(”点A在圆外)

return0;

求爱因斯坦数学题。有一条长阶,若每步跨两阶,则最后剩余一阶;若每步跨

三阶,则最后剩两阶,若每步跨五阶,则最后剩四阶;若每步跨六阶,则最后

剩五阶;若每步跨七阶,最后正好一阶不剩。求长阶的阶梯数目。

#include<>

intmain(void)

(

inti;

for(i=l;i<=200;i++)

(

if((i%2==1)&&(i%3==2)&&(i%5==4)&(i%6==5)&&i%7==0)

printf("%d阶",i);

}

return0;

)

输入一个正整数,判断其中的各位数字是否奇偶数交替出现,是输出“yes”否

则输出“not”

#include<>

intmain(void)

(

intm,n;

printf("请输入一个正整数:\n");

scanf(n%d",&m);

n=m%10;

m=m/10;

if(n%2+m%10%2!=1)

(

printf(nnotu);

printf(H\nn);

)

else

(

printf("yes");

printf("\n");

24

return0;

)

输入一个三位数,判断是否是一个水仙花数。水仙花数是指三位数的各位数字

立方和等于这个三位数本身。例如:153=1*1*1+5*5*5+3*3*3。

#include<>

intmain(void)

(

intn,i,j,k;

printf("请输入一个三位数:\n");

scanf("%d",n);

i=n/100;

j=(n-i*100)/10;

k=n-i*100-j*10;

if(i*i*i+j*j*j+k*k*k==n)

printf("%d是一个水仙花数",n);

else

printf("%d不是水仙花数”,n);

实验六

输入一个正整数n(l<n<=10),再输入n个整数,输出偶数位置上数值的平均

值(保留两位小数)

25

#include<>

intmain(void)

inta[10],i,n,count;

floatsum,avg;

printf("Entern:");

scanf(n%d",&n);

printf("Enter%dintergers:",n);

for(i=0;i<n;i++)

scanf(n%d",&a[i]);

sum=0;

count=0;

for(i=0;i<n;i++)

if((i+l)%2==0)

{

sum=sum+a[i];

count++;

}

avg=sum/count;

printf(Mavg=%.2f\n",avg);

printf(n\nn);

输入一个正整数n(l<=n<=10),再输入n个整数,输出最小值及下标(设最

小值唯一,下标从0开始)。

#include<>

intmain(void)

(

inti,n,min,index;

intaflO];

printf("Entern:");

scanf(n%dn,&n);

print:—Enter%dintergers:",n);

for(i=0;i<n;i++)

scanf(n%d",&a[i]);

min=a[0];

index=0;

for(i=l;i<n;i++)

if(min>a[i])

(

min=a[i];

index=i;

26

printf("min=%d,ind6x=%d\n”,min,index);

输入一个正整数n(l<=n<=10),再输入n个整数,将最小值与第一个数交

换,最大值与最后一个数交换,然后输出交换后的n个数。

#include<>

intmain(void)

(

inti,n,min,max,index,indexx,t,h;

inta[10];

printf(nEntern:");

scanf(n%dn,&n);

printf("Enter%dintergers:",n);

for(i=0;i<n;i++)

scanf(n%d",&a[i]);

min=a[0];

max=a[0];

index=0;

indexx=0;

for(i=l;i<n;i++)

if(min>a[i])

min=a[i];

index二i;

t=a[O];a[0]=a[index];a[index]=t;

if(max<afi])

max=a[i];

indexx=i;

h=a[n-l];a[n-l]=a[indexx];a[indexx]=h;

)

for(i=0;i<10;i++)

printf(n%dn,a[i]);

return0;

输入一个正整数n(l<n<=10),再输入n个数,逆序重新存放并输入这些

数。

#include<>

intmain(void)

intn,i,j,t;

inta[10];

printf("Entern:");

scanf("%d",&n);

printf("Enter%dintergers:",n);

for(i=0;i<n;i++)

scanf("%d",&a[i]);

j=n-l;

for(i=0;i<n/2;i++)

(

t=a[i];

a[i]=a[j];

a[j]=t;

for(i=0;i<n;i++)

printf("%d",a[i]);

在键盘上输入n个整数,将他们按照从大到小的次序排序后输出。要求采用冒

泡排序法。

#include<>

intmain(void)

inta[10],i,n,j,h;

printf("Entern:");

scanf("%d",&n);

printf("Enter%dinlergers:",n);

for(i=0;i<n;i++)

scanf("%d",&a[i]);

for(j=0;j<n-l;j++)

(

for(i=O;i<n-j-l;i++)

if(a[i]<a[i+l])

h=a[i];

a[i]=a[i+l];

a[i+l]=h;

for(i=0;i<n;i++)

printf("%d",a[i]);

28

已有一个已按递增排序的数组,输入一个整数X,要求按原来排序的规律将他

插入数组中。

#include<>

voidmain()

inta[10],i,n,j,h,x,t;

printf("请输入整数的个数:");

scanf("%d",&n);

printf("请输入%d个正整数:\n",n);

for(i=0;i<n;i++)

scanf("%d",&a[i]);

for(j=0;j<n-l;j++)

{

for(i=0;i<n-j-l;i++)

if(a[i]>a[i+l])

h=a[i];

a[i]=a[i+l];

a[i+l]=h;

printf("请输入要插入的整数x:");

scanf("%d",&x);

for(i=0;i<n;i++)

if(a[i]>x)

(

t=i;

break;

)

for(i=n-l;i>=t;i—)

a[i+l]=a[i];

a[t]=x;

for(i=0;i<n+l;i++)

printf("%d",a[i]);

输入一个以回车结束的字符串(少于80个字符),统计其中的大写字母的个数

#include<>

intmain(void)

29

intj,n;

charstr[80],ch;

printf("请输入字符串,以回车结束:\n");

gets(str);

for0=O;str[j]!='\O';j++)

if(str[j]>='A'&&strU]<='Z')

n++;

printf("count=%d\n",n);

)

输入一个字符,再输入一个以回车结束的字符串(少于80个字符),在字符串

中查找该字符。如果找到,则输出该字符在字符串中所对应的最大下标(下标

从0开始)否则输出“Notfound”

#include<>

intmain(void)

(

inti,j,k;

charstr[80],ch;

printf("请输入字符串,以回车结束:\n");

i=0;

while((strfi]=getchar())!='\n')

i++;

str[i]='\O';

printf("请输入要查找的字符:\n");

ch=getchar();

for(j=0;j<i;j++)

if(str[j]==ch)

(

k=j;

)

if(k==-l)

printf("NotFound!\n");

else

printf("k=%d\n",k);

)

输入一串字符,直到读到句号为止,记录下这串字符中是字母或是数字的所有

字符,然后把这些字符按与输入相反的次序输出。

#incl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论