河北科技大学C语言上机题答案.docx

上传人:b****6 文档编号:3881395 上传时间:2022-11-26 格式:DOCX 页数:27 大小:20KB
下载 相关 举报
河北科技大学C语言上机题答案.docx_第1页
第1页 / 共27页
河北科技大学C语言上机题答案.docx_第2页
第2页 / 共27页
河北科技大学C语言上机题答案.docx_第3页
第3页 / 共27页
河北科技大学C语言上机题答案.docx_第4页
第4页 / 共27页
河北科技大学C语言上机题答案.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

河北科技大学C语言上机题答案.docx

《河北科技大学C语言上机题答案.docx》由会员分享,可在线阅读,更多相关《河北科技大学C语言上机题答案.docx(27页珍藏版)》请在冰豆网上搜索。

河北科技大学C语言上机题答案.docx

河北科技大学C语言上机题答案

3-5-1正确

#include

voidmain()

{

charch;

printf("请输入一个字符:

");

scanf("%c",&ch);

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

{

if(ch>='A'&&ch<='Z')ch=ch+32;

elsech=ch-32;

}

elsech=ch;

printf("%c\n",ch);

}

3-5-2正确

#include

voidmain()

{

charch;

printf("请输入一个字符:

");

scanf("%c",&ch);

ifch=ch;

else

{

if(ch>='A'&&ch<='Z')ch=ch+32;

elsech=ch-32;

}

printf("%c\n",ch);

}

3-5-3

#include

voidmain()

{

charch;

printf("请输入一个字符:

");

scanf("%c",&ch);

if(ch>='a'&&ch<='z')ch=ch-32;

elseif(ch>='A'&&ch<='Z')ch=ch+32;

elsech=ch;

printf("%c\n",ch);

}

3-6-1正确

#include

voidmain()

{

intx,y;

printf("请输入x:

");

scanf("%d",&x);

if(x<=1)y=x;

else

{

if(1

elsey=3*x-8;

}

printf("x=%d,y=%d",x,y);

}

3-6-2正确

#include

voidmain()

{

intx,y;

printf("请输入x:

");

scanf("%d",&x);

if(x>=10)y=3*x-8;

elseif(x>1)y=2*x+1;

elsey=x;

printf("x=%d,y=%d",x,y);

}

3-6-3正确

#include

voidmain()

{

intx,y;

printf("请输入x:

");

scanf("%d",&x);

if(x<=1)y=x;

else

if(1

else

if(x>=10)y=3*x-8;

printf("x=%d,y=%d",x,y);

}

计算器正确

#include

voidmain()

{

floatx,y,z;

charch;

printf("请输入操作数运算符操作数:

");

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

switch(ch)

{

case'+':

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

case'-':

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

case'*':

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

case'/':

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

default:

printf("输入的运算符错误!

\n");

}

}

7—6正确

#include

voidmain()

{

intx;

printf("请输入一个整数:

");

scanf("%d",&x);

if(x%2==0)x=x;

elsex=x+1;

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

}

实验四的补充试验题

#include

voidmain()

{

inti=1,n;

floatx,y,s=0;

printf("请输入要计算的数的个数:

");

scanf("%d",&n);

do

{

scanf("%f",&x);

s=s+x;

i=i+1;

}

while(i<=n);

printf("%f\n",y=s/10.0);

}4-6

#include

voidmain()

{

inta,n,i=1;

longintt=0,s=0;

printf("请输入a,n:

");

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

while(i<=n)

{

t=t+a;

s=s+t;

a=a*10;

i++;

}

printf("a+aa+aaa+...=%d\n",s);

}

4-5

#include

voidmain()

{

charc;

intnum1=0,num2=0,num3=0,num4=0;

printf("请输入一行字符:

\n");

while((c=getchar())!

='\n')

{

if(c>='a'&&c<='z'||c>='A'&&c<='Z')num1++;

elseif(c=='')num2++;

elseif(c>='0'&&c<='9')num3++;

elsenum4++;

}

printf("字母:

%d,空格:

%d,数字:

%d,其他:

%d",num1,num2,num3,num4);

}

4——7

#include

voidmain()

{

inti,a,b;

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

{

for(a=4-i;a>0;a--)printf("");

for(b=2*i-1;b>0;b--)printf("*");

printf("\n");

}

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

{

for(a=i+1;a>=1;a--)printf("");

for(b=5-i*2;b>=1;b--)printf("*");

printf("\n");

}

}

副本

#include

voidmain()

{

inti,a,b;

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

{

for(a=3-i;a>0;a--)printf("");

for(b=2*i-1;b>0;b--)printf("*");

printf("\n");

}

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

{

for(a=i;a>=1;a--)printf("");

for(b=5-i*2;b>=1;b--)printf("*");

printf("\n");

}

}

鸡兔同笼

#include

voidmain()

{

inta,b;

for(a=0;a<=35;a++)

for(b=0;b<=24;b++)

{

if(a*2+b*4==94&&a+b==35)

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

}

}

水仙花数1

#include

voidmain()

{

intm,i,j,k,n=0;

for(m=100;m<=999;m++)

{

i=m/100;

j=m/10-i*10;

k=m%10;

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

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

}printf("水仙花数的个数=%d\n",n);

}

水仙花数2

#include

voidmain()

{

inta=0,i,j,k,m,n;

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

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

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

{

m=i*100+j*10+k;

n=i*i*i+j*j*j+k*k*k;

if(m==n)a++,

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

}printf("水仙花数的个数=%d\n",a);

}

三—7—16

#include

voidmain()

{

floats=100,h;

intn;

h=s/2;

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

{

s=s+2*h;

h=h/2;

}

printf("第十次落地共经过的米数:

%f\n",s);

printf("第十次反弹的高度:

%f\n",h);

}

#include

#include

voidmain()

{

inta;

floatb,x,sum;

a=1;

b=1;

x=1;

sum=0;

while((fabs(x))>1e-7)

{

sum=sum+x;

b=b*2;

x=a/b;

}

sum=sum*100+100;

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

}

课本习题四的第四大题的第一小题

#include

voidmain()

{

inti,a[5];

for(i=0;i<5;i++)scanf("%d",&a[i]);

for(i=4;i>=0;i--)printf("%d",a[i]);

}

实验五的补充题

#include

voidmain()

{

inti,j,s,v[3],score[5][3];

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

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

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

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

{

s=0;

for(j=0;j<5;j++)s=s+score[j][i];

v[i]=s/5;

}

printf("各科平均成绩为:

");

for(i=0;i<3;i++)printf("%4d",v[i]);

}

矩阵相加

正确

#include

voidmain()

{

inti,j;

inta[3][3],b[3][3],c[3][3];

printf("请输入矩阵a[3][3]:

\n");

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

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

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

printf("请输入矩阵b[3][3]:

\n");

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

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

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

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

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

c[i][j]=a[i][j]+b[i][j];

printf("矩阵相加结果c[3][3]:

\n");

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

{

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

printf("%d",c[i][j]);

printf("\n");

}

}

最高最低温度

正确

#include

voidmain()

{

floatmax,min,a[31];

inti;

printf("请输入31天的温度:

");

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

{

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

}

min=max=a[0];

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

{

if(a[i]>max)max=a[i];

if(a[i]

}

printf("最高温度:

%f,最低温度:

%f",max,min);

}

错误

#include

voidmain()

{

intmax,min,n;

printf("请输入31天的温度:

");

scanf("%d",&n);

max=n;

if(n>max)

max=n;

printf("最高温度:

%d",max);

min=n;

if(n

min=n;

printf("最低温度:

%d",min);

5-6

用指向字符串指针变量实现

#include

voidmain()

{

intn=0;

char*c="hello,goodmoring.";

while(*(c+n)!

='\0')

n++;

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

}

#include

#include

voidmain()

{

chara[100];

inti=0;

printf("inputstring\n");

gets(a);

while(a[i]!

='\0')i++;

printf("你输入的字符串的长度为%d\n",i);

}

#include

main()

{

chara[100],*p;

intn;

p=a;

scanf("%s",a);

for(n=0;*(p+n)!

='\0';n++);

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

}

输入一个字符串,将其逆序输出

#include

#include

voidmain()

{

charstr[100];

inti;

gets(str);

i=strlen(str)-1;

for(;i>=0;i--)putchar(str[i]);

printf("\n");

}

判断一个字符串是否回文

#include

#include

voidmain()

{

intx,i;

charstr[100]={0};

gets(str);

x=strlen(str)-1;

for(i=0;i<=x/2;i++)///比到一半就不比了,原理已讲

if(str[i]!

=str[x-i])///这就是比较两端的字符

break;//不是回文

if(i>x/2)///没执行break,就是回文

printf("是回文\n");

elseprintf("不是回文\n");

}

#include

#include

#defineN50

voidmain()

{

inti,x=0;

charst1[N+1];

char*pst1,*pst2;

printf("pleaseinputastring:

\n");

scanf("%s",st1);

pst1=st1;

pst2=st1;

while(*pst1!

='\0')pst1++;

i=0;

pst1--;

while(*pst1==*pst2&&*pst1!

='\0')

{

pst1--;

pst2++;

i++;

}

x=strlen(st1);

if(i==x)printf("yes\n");

elseprintf("no\n");

}

有问题

#include

#include

voidmain()

{

charstr[100],str1[100],str2[100];

inti;

gets(str);

strcpy(str1,str);

i=strlen(str)-1;

for(;i>=0;i--)putchar(str[i]);

strcpy(str2,str[i]);

k=strcmp(str1,str2);

if(k==0)printf("是回文");

elseprintf("不是回文");

}

支持多个字符串判断是否回文

#include

#include

voidmain()

{

charstr[20][20];

inti,j,k,n,flag;

printf("请输入多行字符串(end结束)\n");

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

gets(str[k]);

if(str[k]==end)break;

}

printf("判断结果如下:

\n");

{

flag=1;

n=strlen(str[i]);

for(j=0;j

if(str[i][j]!

=str[i][n-j-1])

{

flag=0;

break;

}

if()

printf("%s回文\n",str[i]);

else

printf("%s不是回文\n",str[i]);

}

6—4输入三个整数,按由小到大的顺序输出,用指针实现

#include

voidmain()

{

inta,b,c,temp,*pa,*pb,*pc;

pa=&a;pb=&b;pc=&c;

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

if(a>b){temp=*pa;*pa=*pb;*pb=temp;}

if(a>c){temp=*pa;*pa=*pc;*pc=temp;}

if(b>c){temp=*pb;*pb=*pc;*pc=temp;}

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

}

补充2在一组指定数据中删除指定数据

#include

voidmain()

{

char*p="1234555656789",a[100],x;

inti=0;

x='5';

for(;*p!

='\0';p++)

if(*p!

=x)a[i++]=*p;

a[i]='\0';

printf("新的数据是:

%s\n",a);

}

补充1

不完善

#include

voidmain()

{

intmax,min,a[10],*pmax,*pmin;

pmax=&max;pmin=&min;

inti,t,n;

printf("请输入10个数:

");

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

{

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

}

min=max=a[0];

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

{

if(a[i]>max)max=a[i];{t=*pmax;*pmax=a[9];a[9]=t;}

if(a[i]

}

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

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

}

#include

voidmain()

{

intmax,min,a[10];

int*pa,*pb;

pa=&max,pb=&min;

inti,t;

printf("请输入10个数:

");

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

{

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

}

min=max=a[0];

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

{

if(a[i]>max)max=a[i];{t=*pa;*pa=a[9];a[9]=t;}

if(a[i]

}

printf("%d",a[0],a[9]);

}

6---5

从键盘输入两个字符串,将其连接起来。

#include

voidmain()

{

chars1[20],s2[10],*pt1=s1,*pt2=s2;

printf("请输入字符串1:

\n");

scanf("%s",s1);

printf("请输入字符串2:

\n");

scanf("%s",s2);

while(*pt1++!

='\0');

*pt1--;

while(*pt1++=*pt2++)

*pt1='\0';

printf("连接后的字符串:

\n");

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

}

统计字符串1在字符串2中出现的次数

有问题

#include

voidmain()

{

charstr[10],substr[3],*pstr,*psubstr;

intn=0;

pstr=str;psubstr=substr;

printf("请输入原字符串:

");

gets(str);

printf("请输入子字符串:

");

gets(substr);

while(*pstr)

{

while(*psubstr)

if(*pstr!

=*psubstr)

{

pstr++;

psubstr++;

}

elsebreak;

if(*pstr=*psubstr)

n++;

pstr++;

psubstr++;

}

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

}

字符串1在字符串2中出现的次数

#include

#include

main()

{

chara[100],s[100];

inti,j,flag,sum=0;

printf("请输入主字符串\n");

gets(a);

printf("请输入子字符串\n");

gets(s);

for(i=0;i

{

flag=0;

for(j=0;j

{

if(s[j]==a[i+j])

flag++;

}

if(flag==strlen(s))

sum++;

}

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

当前位置:首页 > 高中教育 > 语文

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

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