编程答案电子教案.docx

上传人:b****6 文档编号:8436121 上传时间:2023-01-31 格式:DOCX 页数:24 大小:19.02KB
下载 相关 举报
编程答案电子教案.docx_第1页
第1页 / 共24页
编程答案电子教案.docx_第2页
第2页 / 共24页
编程答案电子教案.docx_第3页
第3页 / 共24页
编程答案电子教案.docx_第4页
第4页 / 共24页
编程答案电子教案.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

编程答案电子教案.docx

《编程答案电子教案.docx》由会员分享,可在线阅读,更多相关《编程答案电子教案.docx(24页珍藏版)》请在冰豆网上搜索。

编程答案电子教案.docx

编程答案电子教案

 

编程答案

P45

4、

#include

intmain()

{

ints[100];

intmax=0,min=0;

for(inti=0;i<100;i++)

{

printf("请输入第%d个学生的成绩:

",i+1);

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

if(s[i]==-1)

{

break;

}

}

max=min=s[0];

for(intj=0;j

{

if(s[j]>max)

{

max=s[j];

}

if(s[j]

{

min=s[j];

}

}

printf("最多分是:

%d\n",max);

printf("最少分是:

%d\n",min);

return0;

}

5、

#include

voidmain()

{

inta,b,t,sum1,sum2,i,j;

sum1=sum2=0;

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

if(a>b)

{

t=a;a=b;b=t;

}

for(i=a;i<=b;i++)

{

if(i%2==0)

sum1+=i;

else

sum2+=i;

}

printf("偶数和:

%d\n奇数和:

%d\n",sum1,sum2);

}

6、

#include

intfun(inta,inty)

{

intc,n1,n2,n3,n4;

n1=a%10;

n2=a/10;

n3=y%10;

n4=y/10;

c=n2*1000+n3*100+n1*10+n4;

returnc;

}

voidmain()

{

inta,b,c;

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

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

}

P72

1、

#include

intmain()

{

int*p,i;

intdata[10],data2[10];

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

{

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

}

p=&data[0];

for(i=9;i>=0;i--)

{

data2[i]=*(p+i);

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

}

printf("\n");

return0;

}

2、

#include

#include

voidmain()

{

chara[100];

inti;

gets(a);

for(i=0;i

{

if(a[i]>='a'&&a[i]<='z')

a[i]=a[i]-32;

elseif(a[i]>='A'&&a[i]<='Z')

a[i]=a[i]+32;

}

puts(a);

}

3、

#include

#include

intmain()

{

charp[1000],*a;

inti,L;

a=&p[0];

printf("inputastring\n");

gets(p);

L=strlen(p);

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

printf("%c",*(a+L-i));

return0;

}

4、

#include

voidmain()

{

inta[3][6],i,j,n,m,q,t,max,min;

n=m=q=t=0;

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

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

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

max=a[0][0];

min=a[0][0];

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

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

{

if(max

{

max=a[i][j];

n=i;

m=j;

}

if(min>a[i][j])

{

min=a[i][j];

q=i;

t=j;

}

}

printf("max=%data[%d,%d]\n",max,n,m);

printf("min=%data[%d,%d]\n",min,q,t);

}

5、

#include

voidmain()

{

inti,min,max,temp,t1,t2,a[10],*p=a;

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

scanf("%d",p+i);

min=max=a[0];

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

{

if(min

{

min=a[i];

t1=i;

}

if(max>a[i])

{

max=a[i];

t2=i;

}

}

temp=a[0];

a[0]=min;

a[t1]=temp;

temp=a[9];

a[9]=max;

a[t2]=temp;

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

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

}

6、

#include"stdio.h"

voidmain()

{

longx,s=0,j=0;

intn,i;

scanf("%ld",&x);

while(x)

{

n=x%10;/*依次取N的各位数*/

if(n%2!

=0)

s=s*10+n;/*将取出来的数进行累加,如输入的X=123456取出6,则S=0,取5,则S=5…………S=531*/

x=x/10;/*去掉已取位数*/

}

/*下面的功能是将取出的结果531进行正序输出,你输入123456,输出结果为135*/

while(s)

{

i=s%10;

j=j*10+i;

s=s/10;

}

printf("%ld",j);

}

P95

1、

#include

#include

doublefun(intx)

{

doubles=0.0;

inti;

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

s+=log(1.0*i);

s=sqrt(s);

returns;

}

voidmain()

{

printf("%f\n",fun(20));

}

2、

#include

voidfun(floata[],float*pmax,float*pmin,float*aver,intn)

{

inti;

*pmax=a[0];

*pmin=a[0];

*aver=0;

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

{

if(*pmax

*pmax=a[i];

if(*pmin>a[i])

*pmin=a[i];

*aver+=a[i];

}

*aver=*aver/n;

}

intmain()

{

floata[100];

floatmax,min,aver;

inti;

intn;

printf("请输入一个整数作为所需输入数的个数:

\n");

scanf("%d",&n);

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

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

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

fun(a,&max,&min,&aver,n);//参数max,min,aver均按地址传递

printf("最大数为:

%f,最小数为:

%f,平均数为:

%f\n",max,min,aver);

return0;

}

3、

#include

intff(chars[],charch)

{

inti=0,num=0;

while(s[i]!

='\0')

if(s[i++]==ch)

num++;

returnnum;

}

voidmain()

{

charstr[]="dazhutou";

printf("%d",ff(str,'u'));

}

4、

#include

voidmain()

{

voidc(longintm);

longintn;

printf("请输入一个任意整数\n");

scanf("%ld",&n);

printf("用递归法将其转换成字符串是:

\n");

if(n<0)//考虑到输入可能为负数//

{

putchar('-');

n*=-1;//先将负数转换成整数,以免在自定义的函数内再讨论//

}

c(n);

printf("\n");

}

voidc(longintm)

{

longintx;

x=m/10;

if(x!

=0)//递归的结束条件//

c(x);

putchar(m%10+'0');//字符0的ASCLL码是48,任意一个一位数加上48生成的//

}//ASCLL码对应的字符就是这个任意一位数本身了//

5、

#include

#include

intfun(intx)

{

intr=0,d,c;

while

(1)

{

d=x%10;

r=r+d;

x=(x-d)/10;

if(x==0)

break;

}

returnr;

}

main()

{

intnum;

printf("inputnum\n");

scanf("%d",&num);

printf("%d\n",fun(num));

}

6、

#include

#include

voidmain()

{

intprime(int);

intn;

printf("Inputthenumber:

");

scanf("%d",&n);

if(prime(n))

printf("\n%disaprime\n",n);

else

printf("\n%disnotaprime.\n",n);

}

intprime(intNum)/*是素数返回1,否则返回0*/

{

inti,MaxDivisor=(int)sqrt(Num);

if(Num<=2)

return0;

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

{

if(Num%i==0)

return0;/*Num能被i除,说明不是素数,返回0*/

}

return1;

}

7、

#include

#include

voidf(charx[],intm)

{charw[10];

inti,j,n;

n=strlen(x);

for(j=0;j

w[j]=x[n-m+j];

x[n-m]='\0';

for(i=0;i

w[m+i]=x[i];

printf("%s\n",w);

}

main()

{charg[10];

intm;

scanf("%s",g);

scanf("%d",&m);

f(g,m);

}

8、

#include"stdio.h"

#include"string.h"

voidRever(char*s,inti)

{

if(i>=0)

putchar(s[i]);

i--;

if(i>=0)

Rever(s,i);

}

voidmain()

{

chars[100];

gets(s);

Rever(s,strlen(s)-1);

}

9、

#include"stdio.h"

#include"string.h"

intfun(char*s,char*t)

{

intn=0;

while(*s&&*t)

if(*s++==*t++)

n++;

returnn;

}

voidmain()

{

chars[200],t[10];

scanf("%s\n",s);

scanf("%s",t);

printf("出现次数%d\n",fun(s,t));

}

P119

1、

#include

#include

voidmain()

{

FILE*fp;

charc;

if((fp=fopen("ccw.txt","r+"))==NULL)

{

printf("cannotopen");

exit(0);

}

while(!

feof(fp))

{

c=fgetc(fp);

if(c=='@')

break;

else

c-=10;

fseek(fp,-1L,1);

fputc(c,fp);

fseek(fp,0L,1);

}

}

2、

#include

intfun(char*fname,inta,intb)

{

FILE*fp;

if((fp=fopen("file.txt","w"))==NULL)

{

printf("cannotopenfile\n");

return0;

}

fprintf(fp,"%d%d%d%d%d",a+b,a-b,a*b,a/b,a%b);

printf("\nsucceed\n");

fclose(fp);

return1;

}

voidmain()

{

charfname[]="file.txt";

inta,b;

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

fun(fname,a,b);

}

3、

4、

#include

#include

#defineLENsizeof(structstudent)

structstudent

{

charnum[6];

charname[8];

charsex[2];

intage;

structstudent*next;

}stu[10];

voidmain()

{

structstudent*p,*pt,*head;

inti,length,iage,flag=1;

intfind=0;

while(flag==1)

{

printf("请输入链表长度(小于10):

");

scanf("%d",&length);

if(length<10)

flag=0;

}

for(i=0;i

{

p=(structstudent*)malloc(LEN);

if(i==0)

head=pt=p;

else

pt->next=p;

pt=p;

printf("No.:

");

scanf("%s",p->num);

printf("name:

");

scanf("%s",p->name);

printf("sex:

");

scanf("%s",p->sex);

printf("age:

");

scanf("%d",&p->age);

}

p->next=NULL;

p=head;

printf("\nNo.namesexage\n");

while(p!

=NULL)

{

printf("%4s%8s%6s%6d\n",p->num,p->name,p->sex,p->age);

p=p->next;

}

printf("inputage:

");

scanf("%d",&iage);

pt=head;

p=pt;

if(pt->age==iage)

{

p=pt->next;

head=pt=p;

find=1;

}

else

pt=pt->next;

while(pt!

=NULL)

{

if(pt->age==iage)

{

p->next=pt->next;

find=1;

}

else

p=pt;

pt=pt->next;

}

if(!

find)

printf("notfound%d.",iage);

p=head;

printf("\nNo.namesexage\n");

while(p!

=NULL)

{

printf("%4s%8s",p->num,p->name);

printf("%6s%6d\n",p->sex,p->age);

p=p->next;

}

}

5、

#include

#include

#defineN10

typedefstructstudent

{

intnum;

floatscore;

structstudent*next;

}STU;

STU*create()

{

inti;

STU*p,*head=NULL,*tail=head;

for(i=0;i

{

p=(STU*)malloc(sizeof(STU));

scanf("%d%f",&p->num,&p->score);

p->next=NULL;

if(p->num<0)

{

free(p);

break;

}

if(head==NULL)

head=p;

else

tail->next=p;

tail=p;

}

returnhead;

}

voidoutput(STU*p)

{

while(p!

=NULL)

{

printf("%d\t%.2f\n",p->num,p->score);

p=p->next;

}

}

STU*link(STU*p1,STU*p2)

{

STU*p,*head;

if(p1->score>p2->score)

{

head=p=p1;

p1=p1->next;

}

else

{

head=p=p2;

p2=p2->next;

}

while(p1!

=NULL&&p2!

=NULL)

{

if(p1->score>p2->score)

{

p->next=p1;

p=p1;

p1=p1->next;

}

else

{

p->next=p2;

p=p2;

p2=p2->next;

}

}

if(p1!

=NULL)

p->next=p1;

else

p->next=p2;

returnhead;

}

intmain(intargc,char*argv[])

{

STU*a,*b,*c;

printf("\n请输入链表a的信息,学号小于零时结束输入:

格式(学号成绩)\n");

a=create();

printf("\n请输入链表b的信息,学号小于零时结束输入:

格式(学号成绩)\n");

b=create();

printf("\n链表a的信息为:

\n");

output(a);

printf("\n链表b的信息为:

\n");

output(b);

c=link(a,b);

printf("\n合并后的链表信息为:

\n");

output(c);

return0;

}

6、

#include

#include

#defineMAXSIZE100

typedefintdatatype;

typedefstructlink_node{

datatypedata;

structlink_node*next;

}node;

voidinit(node**p)

{

intx;

node*pre,*q;

pre=*p;

scanf("%d",&x);

while(x!

=0)

{

q=(node*)malloc(sizeof(node));

q->data=x;

if(!

pre)

{

*p=pre=q;

}

else{

pre->next=q;

pre=q;

}

scanf("%d",&x);

}

pre->next=NULL;

}

node*nizhuan(node*p)

{

node*pre,*q;

node*r;

r=p;

pre=p;

if(!

p||!

p->next)returnp;

else

{

q=pre->next;

while(q->next)

{

pre=q;

q=q->next;

pre->next=p;

p=pre;

}

q->next=p;

p=q;

r->next=NULL;

returnp;

}

}

voiddisplay(node*p)

{

node*q;

q=p;

if(!

q)printf("单链表为空!

");

else{

while(q)

{

printf("%5d",q->data);

q=q->next;

}

}

printf("\n");

}

main()

{

nod

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1