0)y=sqrt(x);else if(x" />

2022年辽宁专升本C语言程序设计复习试题(3)

浏览次数:次 发布时间:2023-04-07

2022年辽宁专升本C语言程序设计复习试题(3)

湖南专升本问答

四、编程

湖南统招专升本培训课

1.设有一个函数如下。编程,输入x,求y值。

image.png

#include

#include

int main()

{float x,y;

scanf("%f",&x);

if (x>0)

y=sqrt(x);

else if(x<0)

y=(x+1)/(x*x+2);

else

y=0;

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

return 0;

}

2.下面程序的功能是计算1-3+5-7+…-99+101的值存在s中。

#include

int main()

{

int i,t=1,s=0;

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

{

s=s+i*t;

t=-t;

}

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

return 0;

}

#include

int main()

{

int i=1,t=1,s=0;

while(i<=101)

{

s=s+i*t;

t=-t;

i+=2;

}

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

return 0;

}

#include

int main()

{

int i=1,t=1,s=0;

do

{

s=s+i*t;

t=-t;

i+=2;

} while(i<=101);

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

return 0;

}

3.一个整数被5除余3,被7除余5,被9除余7,这个数最小是几?

#include

int main()

{int i=8;

do

{if ((i%5==3) && (i%7==5) && (i%9==7))

{printf("%5d\n",i);

break;}

i=i+5;} while(1);

return 0;

}

4. 编写一程序,将两个字符串连接起来,要求不用strcat函数。

#include

#include

void main()

{ char s1[80],s2[40];

int i=0,j=0;

printf("input string1:\n");

gets(s1);

printf("input string2:\n");

gets(s2);

i=strlen(s1);

while( s2[j]!='\0')

s1[i++]=s2[j++];

s1[i]='\0';

puts(s1);

}

5.写一个函数计算2016以内最大的10个能被13或17整除的自然数之和。

输出格式:sum=23456

#include

void main()

{

long sum;

sum=sum2016();

printf("sum=%ld\n",sum);

}

long sum2016()

{

long sum=0;

int i,count=0;

for(i=2016;;i--)

{ if(i%13==0||i%17==0)

{count++;

sum+=i;}

if(count==10) break;}

return sum;

}

6.已知圆柱高h=5,要求用scanf输入圆的半径,求出圆周长,圆面积和圆柱体积。

#include

int main ()

{float h=5,r,l,s,vz;

float pi=3.1415926;

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

scanf("%f",&r); //要求输入圆半径r

l=2*pi*r; //计算圆周长l

s=r*r*pi; //计算圆面积s

vz=pi*r*r*h; //计算圆柱体积vz

printf("圆周长为: l=%6.2f\n",l);

printf("圆面积为: s=%6.2f\n",s);

printf("圆柱体积为: vz=%6.2f\n",vz);

return 0;

}

7. 试编写程序输出100~300间的所能同时被3和5整除的数。

#include

int main()

{int i;

for(i=100;i<=300;i++)

if((i%3==0)&&(i%5==0))

printf("%5d",i);

return 0;

}

8.一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少米,第10次反弹多高。

#include

int main()

{

double sn=100,hn=sn/2;

int n;

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

{

sn=sn+2*hn; /*第n次落地时共经过的米数*/

hn=hn/2; /*第n次反跳高度*/

}

printf("第10次落地时共经过%f米\n",sn);

printf("第10次反弹%f米\n",hn);

return 0;

}

9.以下程序从终端读入数据到数组中,统计其中偶数的个数,并计算它们之和及平均值。

#include

int main()

{ int i,a[20],count;float ave,sum;

sum=0.0;count=0;ave=0;

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

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

{ if( a[i]%2==0 )

{ count++;

sum=sum+a[i];

}

}

ave=sum/count;

printf("sum=%f,count=%d,ave=%.2f\n",sum,count,ave);

return 0;

}

10.水仙花数的判定。

“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个水仙花数,因为13+53+33=153。

#include

int main()

{

int num,i,j,k;

do

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

scanf("%d",&num);

}while (num>999||num<100);

i=num/100;

j=num/10%10;

k=num%10;

printf("您输入的数是%d\n百十个位数字依次为:%d,%d,%d\n",num,i,j,k);

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

printf("%d是水仙花数\n",num);

else

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

return 0;

}

11.给定一3*4的矩阵,求出其中的最大元素值,及其所在的行列号。

#include

int main()

{int i,j,row=0,colum=0,max;

int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-4,4}}; // 定义数组并赋初值

max=a[0][0]; // 先认为a[0][0]最大

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

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

if (a[i][j]>max) // 如果某元素大于max,就取代max的原值

{max=a[i][j];

row=i; // 记下此元素的行号

colum=j; // 记下此元素的列号

}

printf("max=%d\nrow=%d\ncolum=%d\n",max,row,colum);

return 0;

}

12.矩阵转置:将二维数组a的行和列元素互换后存到另一个二维数组b中。

#include

int main()

{ int i,j,b[3][2],a[2][3]={{1,2,3},{4,5,6}};

printf("array a :\n");

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

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

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

b[j][i]=a[i][j] ; }

printf("\n");

}

printf("array b :\n");

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

{for(j=0;j<=1;j++)

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

printf("\n");

}

return 0;}

13.用数组来处理求Fibonacci数列问题。输出前20个数,每行5个。

#include

int main( )

{

int i;

int f[20]={1,1};

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

f[i]=f[i-1]+f[i-2];

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

{

if(i%5==0) printf("\n");

printf("%7d" , f[i]);

}

printf("\n");

return 0;

}

14. 输出杨辉三角。

#include

#define N 7

int main()

{ int i,j,a[N][N];

for (i=0;i

{a[i][i]=1;

a[i][0]=1;

}

for (i=2;i

for (j=1;j<=i-1;j++)

a[i][j]=a[i-1][j-1]+a[i-1][j];

for (i=0;i

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

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

printf("\n");

}

printf("\n");

return 0;

}

15. 输入一个年份,判断其是否为闰年,并输出判断结果。

#include

int main()

{

int year,leap;

scanf("%d",&year);

if(year%4!=0)

leap=0;

else if (year%100!=0)

leap=1;

else if(year%400!=0)

leap=0;

else

leap=1;

if (leap)

printf("%d is ",year);

else

printf("%d is not ",year);

printf("a leap year.\n");

return 0;

}

16. 写一个函数,输出九九乘法表。

#include

void multi()

{int i,j,m=0;

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

{for(j=1;j<=i;j++)

{printf("%d*%d=%d\t",i,j,i*j);}

printf("\n");}

}

int main()

{ multi();

return 0;

}

17. 写一个判断素数的函数,在主函数输入一个整数,输出是否为素数的信息。

#include

int main()

{int prime(int);

int n;

printf("input an integer:");

scanf("%d",&n);

if (prime(n))

printf("%d is a prime.\n",n);

else

printf("%d is not a prime.\n",n);

return 0;

}

int prime(int n)

{int flag=1,i;

for (i=2;i

if (n%i==0)

flag=0;

return(flag);

}

18. 写一个增加字符间空格的函数,在主函数输入4个字符,输出时每两个字符间留一个空格。

如输入aB16,应输出 a B 1 6 。

#include

#include

int main()

{char str[80];

void insert(char []);

printf("input four digits:");

scanf("%s",str);

insert(str);

return 0;

}

void insert(char str[])

{int i;

for (i=strlen(str);i>0;i--)

{str[2*i]=str[i];

str[2*i-1]=' ';

}

printf("output:\n%s\n",str);

}

19. 求两个整数的最大公约数与最小公倍数。

#include

int main()

{int hcf(int,int);

int lcd(int,int,int);

int u,v,h,l;

scanf("%d,%d",&u,&v);

h=hcf(u,v);

printf("H.C.F=%d\n",h);

l=lcd(u,v,h);

printf("L.C.D=%d\n",l);

return 0;

}

int hcf(int u,int v)

{int t,r;

if (v>u)

{t=u;u=v;v=t;}

while ((r=u%v)!=0)

{u=v;

v=r;}

return(v);

}

int lcd(int u,int v,int h)

{ return(u*v/h); }

以上就是关于2022年辽宁专升本C语言程序设计复习试题(3)的全部内容了,如果你还有专升本相关的疑惑(如专升本报名、考试动态、院校招生简章、统考动态、湖南专升本院校、历年真题、考试大纲、专升本等相关信息),可以在文章下方留下你的联系方式,老师会第一时间联系到你,为你答疑解惑哦!


湖南专升本最新资料领取

部分内容来源于网络转载、学生投稿,如有侵权或对本站有任何意见、建议或者投诉,请联系邮箱(1296178999@qq.com)反馈。 未经本站授权,不得转载、摘编、复制或者建立镜像, 如有违反,本站将追究法律责任!


本文标签: 专升本统招全日制

上一篇:2022年辽宁专升本C语言程序设计复习试题(2)                  下一篇:2022年辽宁专升本C语言程序设计习题练习(1)

湖南3+2 统招专升本

一键查询