?2022年遼寧專升本C語言程序設(shè)計復(fù)習(xí)試題(3)
摘要:本文是2022年遼寧專升本C語言程序設(shè)計復(fù)習(xí)試題(3),內(nèi)容為編程知識的考核,共有19題。供大家2022年遼寧專升本報考參考,下面是具體內(nèi)容。
四、編程
1.設(shè)有一個函數(shù)如下。編程,輸入x,求y值。
#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.一個整數(shù)被5除余3,被7除余5,被9除余7,這個數(shù)最小是幾?
#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函數(shù)。
#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.寫一個函數(shù)計算2016以內(nèi)最大的10個能被13或17整除的自然數(shù)之和。
輸出格式: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整除的數(shù)。
#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次落地時,共經(jīng)過多少米,第10次反彈多高。
#include
int main()
{
double sn=100,hn=sn/2;
int n;
for (n=2;n<=10;n++)
{
sn=sn+2*hn; /*第n次落地時共經(jīng)過的米數(shù)*/
hn=hn/2; /*第n次反跳高度*/
}
printf("第10次落地時共經(jīng)過%f米\n",sn);
printf("第10次反彈%f米\n",hn);
return 0;
}
9.以下程序從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計其中偶數(shù)的個數(shù),并計算它們之和及平均值。
#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.水仙花數(shù)的判定。
“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。
例如:153是一個水仙花數(shù),因為13+53+33=153。
#include
int main()
{
int num,i,j,k;
do
{printf("請輸入一個三位數(shù):\n");
scanf("%d",&num);
}while (num>999||num<100);
i=num/100;
j=num/10%10;
k=num%10;
printf("您輸入的數(shù)是%d\n百十個位數(shù)字依次為:%d,%d,%d\n",num,i,j,k);
if(i*i*i+j*j*j+k*k*k==num)
printf("%d是水仙花數(shù)\n",num);
else
printf("%d不是水仙花數(shù)\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}}; // 定義數(shù)組并賦初值
max=a[0][0]; // 先認(rèn)為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.矩陣轉(zhuǎn)置:將二維數(shù)組a的行和列元素互換后存到另一個二維數(shù)組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.用數(shù)組來處理求Fibonacci數(shù)列問題。輸出前20個數(shù),每行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<n;i++)< p="">
{a[i][i]=1;
a[i][0]=1;
}
for (i=2;i<n;i++)< p="">
for (j=1;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for (i=0;i<n;i++)< p="">
{for (j=0;j<=i;j++)
printf("%6d",a[i][j]);
printf("\n");
}
printf("\n");
return 0;
}
15. 輸入一個年份,判斷其是否為閏年,并輸出判斷結(jié)果。
#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. 寫一個函數(shù),輸出九九乘法表。
#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. 寫一個判斷素數(shù)的函數(shù),在主函數(shù)輸入一個整數(shù),輸出是否為素數(shù)的信息。
#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. 寫一個增加字符間空格的函數(shù),在主函數(shù)輸入4個字符,輸出時每兩個字符間留一個空格。
如輸入aB16,應(yīng)輸出 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. 求兩個整數(shù)的最大公約數(shù)與最小公倍數(shù)。
#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年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(九)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(八)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(七)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(六)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(五)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(四)
專升本微信公眾號
掃碼添加
專升本備考資料免費領(lǐng)取
去領(lǐng)取