五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

大一C語言考試上__附答案

2022-03-23 10:12 作者:答案鬼  | 我要投稿

1. 有一個函數(shù)

編輯

,寫一段程序,輸入

的值,輸出

的值。

#include<stdio.h>

int main()

{

int x,y;

scanf("%d",&x);

if(x>100||x<0)

?y=-1;

else if(x==0)

?y=0;

else

?y=1;

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

return 0;

}

2. 輸入3個實數(shù)a,b,c,輸出其中最小的數(shù)。

#include<stdio.h>

int main()

{

int a,min=32767,n=3;

while(n--)

{

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

?if(a<min)

? min=a;

}

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

return 0;

}

3. 輸入三角形的三邊a,b,c,判斷a,b,c,能否構(gòu)成三角形,若能,計算面積。

#include<stdio.h>

#include<math.h>

int main()

{

int a,b,c,s,d;

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

if(a+b>c&&a+c>b&&b+c>a)

{

?d=(a+b+c)/2;

?s=sqrt(d*(d-a)*(d-b)*(d-c));

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

}

else

?printf("三邊構(gòu)不成三角形\n");

}

4. 輸入4個整數(shù),輸出4個數(shù)中的最大值、最小值。

#include<stdio.h>

int main()

{

int a,max=-32768,min=32767,n=4;

while(n--)

{

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

?if(a>max)

? max=a;

?if(a<min)

? min=a;

}

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

return 0;

}

5. 要求按照成績的等級輸出百分制分數(shù)段, A等為90分以上,B等為80~89,C等為70~79,D等為60~69,E等為60分以下。成績的等級由鍵盤輸入,若輸入的等級非A、B、C、D、E字符,輸出”enter data error”。

#include<stdio.h>

int main()

{

char a;

a=getchar();

if(a=='A')

{

?printf("90分以上\n");

}

else if(a=='B')

{

?printf("80~89\n");

}

else if(a=='C')

{

?printf("70~79\n");

}

else if(a=='D')

{

?printf("60~69\n");

}

else if(a=='E')

{

?printf("60分以下\n");

}

else

{

?printf("enter data error\n");

}

return 0;

}

6. 有一個函數(shù):


編輯

,寫一段程序,輸入

的值,輸出

的值。

#include<stdio.h>

int main()

{

int x,y;

scanf("%d",&x);

if(x<1)

{

?y=x;

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

}

else if(x==10)

{

?y=3*x-11;

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

}

else

{

?y=2*x-1;

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

}

return 0;

}

7. 輸入成績,要求輸出成績等級A、B、C、D、E或error。90分以上為‘A’,80~89分為‘B’,70~79分為‘C’,60~69分為‘D’,0~60分為‘E’。若輸入成績低于0分和高于100分則輸出error。

#include<stdio.h>

int main()

{

int a;

scanf("%d",&a);

if(a>100)

?printf("error\n");

else

{

?if(a>90)

? printf("A\n");

?else if(a>80)

? printf("B\n");

?else if(a>70)

? printf("C\n");

?else if(a>60)

? printf("D\n");

?else

? printf("E\n");

}

return 0;

} ? ?

8. 求一元二次方程ax2+bx+c=0的解。(考慮b2-4ac三種情況)

#include<stdio.h>

#include<math.h>

int main()

{

double a,b,c,d,e,x1,x2,i;

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

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

e=-b/(2*a);

if(d>1e-6)

{

?x1=e+sqrt(d)/(2*a);

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

?printf("%.2lf %.2lf",x1,x2);

}

else if(d==1e-6)

{

?x1=x2=e;

?printf("%.2lf %.2lf",x1,x2);

}

else

{

?printf("%.2lf+%.2lfi %.2lf-%.2lfi\n",e,sqrt(-d)/(2*a),e,sqrt(-d)/(2*a));

}

return 0;

}

9. 輸入某年某月某日,判斷這一天是這一年的第幾天?(注意是否為閏年)

#include<stdio.h>

int main()

{

int i,n=0,year,math,day,s[12]={31,28,31,30,31,30,31,31,30,31,30,31};

scanf("%d%d%d",&year,&math,&day);

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

?s[1]=29;

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

?n=n+s[i];

n=n+day;

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

return 0;

}

10. 公司規(guī)定,男職工到60歲退休,女職工到55歲退休。編寫一個程序,輸入職工的性別和年齡,判斷出該職工是“已退休”還是“在職”。(輸入時,用一個小寫英文字母來表示性別,‘m’表示男性,’f’表示女性)。

#include<stdio.h>

int main()

{

char a;

int b;

a=getchar();

scanf("%d",&b);

if(a=='m')

{

?if(b>=60)

? printf("已退休\n");

?else

? printf("在職\n");

}

else if(a=='f')

{

?if(b>=55)

? printf("已退休\n");

?else

? printf("在職\n");

}

return 0;

}

11.輸入一個數(shù),判斷該數(shù)是否為素數(shù)。

#include<stdio.h>

int main()

{

int a,b;

scanf("%d",&a);

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

?if(a%b==0)break;

?if(b<a) printf("%d is not a prime number.\n",a);

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

?return 0;

}

12. 編程實現(xiàn)求解s=1*2+2*3+3*4+…+20*21,并輸出結(jié)果。

#include<stdio.h>

int main()

{

int a,s=0;

for(a=1;a<=20;a++)

?s=s+a*(a+1);

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

return 0;

}

13.求Fibonacci數(shù)列的前20個數(shù),并按每行5個數(shù)輸出。

#include<stdio.h>

int main()

{

int f1=1,f2=1,a,f3;

printf("%d %d ",f1,f2);

for(a=3;a<=20;a++)

{

?f3=f1+f2;

?printf("%d ",f3);

?if(a%5==0)

? printf("\n");

?f1=f2;

?f2=f3;

}

return 0;

}

14. 求1+3!+5!+...+19!的和。

#include<stdio.h>

int main()

{

double s,c=0;

int a,b;

for(a=1;a<=19;a+=2)

{

?s=1;

?for(b=1;b<=a;b++)

? s=s*b;

?c=c+s;

}

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

return 0;

} ?

15. 有一分數(shù)序列

,求其前30項的和。

#include<stdio.h>

int main()

{

int i;

double a=1,b=2,s=0,t;

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

{

?s=s+a/b;

?t=b;

?b=a+b;

?a=t;

}

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

return 0;

}

16.編寫一個程序,計算1+3+32+33……310的值并輸出。

#include<stdio.h>

#include<math.h>

int main()

{

int a=0,i;

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

?a=a+pow(3,i);

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

return 0;

}

17.從鍵盤任意輸入一個4位數(shù)x,編程計算x的每一位數(shù)字相加之和。例如,輸入x為1234,則其千位為1、百位為2、十位為3、個位為4,然后計算1+2+3+4=10,輸出10。(要求使用循環(huán)實現(xiàn))

#include<stdio.h>

int main()

{

int m,n,s=0;

scanf("%d",&m);

while(m!=0)

{

?n=m%10;

?m=m/10;

?s=s+n;

}

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

return 0;

}

18. 輸入一個八進制數(shù),并將其轉(zhuǎn)換為十進制。(要求使用循環(huán)實現(xiàn))

#include<stdio.h>

#include<math.h>

int main()

{

int a,b=0,m=0;

scanf("%d",&a);

while(a!=0)

{

?m=m+(a%10)*(int)pow(8,b);

?b++;

?a=a/10;

}

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

return 0;

}

19. 輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。

#include<stdio.h>

int main()

{

int a,b,c,d,p;

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

if(a<b)

{

?c=a;

?a=b;

?b=c;

}

p=a*b;

while(b!=0)

{

?d=a%b;

?a=b;

?b=d;

}

printf("%d %d\n",a,p/a);

return 0;

}

20.一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時,共經(jīng)過多少米?第10次反彈多高?

#include<stdio.h>

int main()

{

int i;

float h=50,a=100;

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

{

?a=a+2*h;

?h=h/2;

}

printf("%f %f\n",a,h);

return 0;

}

21. 輸出倒三角形式的9*9口訣表,要求用循環(huán)實現(xiàn)。

9*1=9 ?9*2=18 ?9*3=27 ?9*4=36…… ? ? ? ? ? ? ? ? ?9*9=81

8*1=8 ?8*2=16 ?8*3=24 ?8*4=32 ? ? ? ? ? ? ? 8*8=6

1*1=1

#include<stdio.h>

int main()

{

int a,b,s;

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

{

?for(b=1;b<=a;b++)

?{

? s=a*b;

?printf("%d*%d=%d ",a,b,s);

?}

?printf("\n");

}

}

22. 輸出菱形圖案。(要求使用雙循環(huán)實現(xiàn),不能利用字符數(shù)組或簡單的printf函數(shù)輸出)


#include<stdio.h>

int main()

{

int a,b,c;

for(a=1;a<=5;a++)

{

?for(b=1;b<=5-a;b++)

? printf(" ");

?for(c=1;c<=2*a-1;c++)

? printf("*");

?printf("\n");

}

for(a=1;a<=4;a++)

{

?for(b=1;b<=a;b++)

? printf(" ");

?for(c=1;c<=9-2*a;c++)

? printf("*");

?printf("\n");

}

return 0;

}

23. 一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”。例如6的因子為1,2,3,而6=1+2+3,因此6是完數(shù)。編寫程序找出500以內(nèi)的所有完數(shù),并按下面的格式輸出其因子:

6 its factors are 1,2,3

#include<stdio.h>

int main()

{

int a,b,c;

for(a=2;a<500;a++)

{

?b=0;

?for(c=1;c<a;c++)

? if((a%c)==0)b+=c;

? if(b==a)

? {

? ?printf("%d,its factors are ",a);

? ?for(c=1;c<a;c++)

? ? if(a%c==0)printf("%d ",c);

? ? printf("\n");

? }

}

return 0;

}

24.編程輸出如下形式的九九乘法表

1 ? ? ? 2 ? ? ? 3 ? ? ?4 ? ? ?5 ? ? ?6 ? ? ?7 ? ? ?8 ? ? ?9

- ? ? ? ?- ? ? ? - ? ? ?- ? ? ? - ? ? ?- ? ? ?- ? ? ? - ? ? ?-

1

2 ? ? ? 4

3 ? ? ? 6 ? ? ? 9

……

8 ? ? ? 16 ? ? ?24 ? ?32 ? ? ?40 ? ? 48 ? ? 56 ? ?64 ? ?

9 ? ? ? 18 ? ? ?27 ? ?36 ? ? ?45 ? ? 54 ? ? 63 ? ?72 ? ? 81

#include<stdio.h>

int main()

{

int a,b,s;

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

{

?for(b=1;b<=a;b++)

?{

? s=a*b;

?printf("%d ",s);

?}

?printf("\n");

}

}

25.一個偶數(shù)總能表示為兩個素數(shù)之和。要求:輸入一個偶數(shù),將其表示成兩個素數(shù)之和,直到輸入的數(shù)為0。

#include<stdio.h>

int main()

{

int i,j,n,k;

printf("請輸入一個偶數(shù)\n");

scanf("%d",&n);

if(n!=0)

{

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

?{

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

? ?if(i%j==0)

? ? break;

? ?if(j==i)

? ?{

? ? for(k=2;k<n-i;k++)

? ? ?if((n-i)%k==0)

? ? ? break;

? ? ?if(k==(n-i))

? ? ?{

? ? ? printf("%d %d\n",i,k);

? ? ?}

? ?}

?}

}

return 0;

}

26. 輸入10個整型整數(shù),用起泡法對這10個數(shù)排序,并該由小到大順序在屏幕上輸出。

#include<stdio.h>

int main()

{

int a,b,c,s[10];

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

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

printf("\n");

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

?for(a=0;a<9-b;a++)

? if(s[a]>s[a+1])

? {

? ?c=s[a];

? ?s[a]=s[a+1];

? ?s[a+1]=c;

? }

? for(a=0;a<10;a++)

? ?printf("%d ",s[a]);

? printf("\n");

? return 0;

}

27. 輸入10個整型整數(shù),用選擇法對這10個數(shù)排序,并該由大到小順序在屏幕上輸出。

#include<stdio.h>

int main()

{

int a[10],i,j,t,min;

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

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

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

{

?min=i;

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

? if(a[min]>a[j]) min=j;

? t=a[i];

? a[i]=a[min];

? a[min]=t;

}

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

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

printf("\n");

return 0;

}

28. 將一個數(shù)組中的值按逆序重新存放。例如,原來順序為8,6,5,4,1改后成為1,4,5,6,8。(同一數(shù)組中完成)

#include<stdio.h>

int main()

{

int i;

char a[5];

scanf("%s",a);

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

?printf("%c",a[i]);

printf("\n");

return 0;

}

29. 給一個不多于6位的正整數(shù),要求:①求出它是幾位數(shù);②分別輸出每一位數(shù)字;③按逆序輸出各位數(shù)字,例如原數(shù)為158,應(yīng)輸出851。(利用數(shù)組知識)

#include<stdio.h>

#include<string.h>

int main()

{

int m,i,j;

char a[50];

scanf("%s",a);

m=strlen(a);

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

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

{

?printf("%c ",a[i]);

}

printf("\n");

for(j=m-1;j>=0;j--)

{

?printf("%c",a[j]);

}

printf("\n");

return 0;

}

30. 用篩選法求100之內(nèi)的素數(shù)。(利用數(shù)組知識)

#include<stdio.h>

#include<math.h>

int main()

{

int a[101],i,j,n;

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

?a[i]=i;

a[0]=1;

for(i=2;i<sqrt(100);i++)

?for(j=i+1;j<=100;j++)

?{

? if(a[i]!=0&&a[j]!=0)

? ?if(a[j]%a[i]==0)

? ? a[j]=0;

?}

?for(i=2,n=0;i<100;i++)

?{

? if(a[i]!=0)

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

?}

?printf("\n");

?return 0;

}

31. 編程實現(xiàn):輸入任意一個不超過5位的十進制整數(shù),取出該數(shù)中的所有奇數(shù)數(shù)字,按原來的順序組成一個新的數(shù)。

#include<stdio.h>

#include<string.h>

int main()

{

int i,b;

char a[10];

gets(a);

b=strlen(a);

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

{

?if((int)a[i]%2!=0)

? printf("%c",a[i]);

}

puts("");

}

32. 有一個已升序排列的數(shù)組,要求輸入一個數(shù)后,按原來排序的規(guī)律將它插入數(shù)組中。(在同一數(shù)組中實現(xiàn))

#include<stdio.h>

int main()

{

int i,j,s;

char a[10]={1,2,4,9,32,41,64,88,91,98};

scanf("%d",&s);

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

{

?if(s>a[i])

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

?else break;

}

printf("%d ",s);

for(j=i;;j++)

{

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

?if(a[j]==a[9]) break;

}

printf("\n");

return 0;

}

33. 將一個二維數(shù)組a的行和列的元素互換(即行列互換),存到另一個二維數(shù)組b中。

#include<stdio.h>

int main()

{

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

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");

}

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

{

?for(j=0;j<2;j++)

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

?printf("\n");

}

return 0;

}34. 在一個3*4的二維數(shù)組a中,要求編程求出其中值最大的那個元素的值,并輸出其所在的行號和列號。

#include<stdio.h>

int main()

{

int i,j,a=0,b=0,s[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},max;

max=s[0][0];

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

?for(j=0;j<4;j++)

? if(s[i][j]>max)

? {

? ?max=s[i][j];

? ?a=i;

? ?b=j;

? }

? printf("%d %d %d\n",max,a,j);

? return 0;

}

35. 找出一個2維數(shù)組中的鞍點,即該位置上的元素在該行上最大、在該列上最小。

#include<stdio.h>

int main()

{

int a[3][4]={1,13,9,10,3,2,7,6,4,11,8,15},i,j,max,k,b,c;

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

{

?max=a[i][0];

?for(j=0;j<4;j++)

?{

? if(max<a[i][j])

? {

? ?max=a[i][j];

? ?b=j;

? }

?}

?c=1;

?for(k=0;k<3;k++)

?{

? if(a[k][b]<max)

? { c=0;break;}

?}

?if(c==1)

?{

? printf("鞍點為:%d\n",a[i][j-1]);

? break;

?}

}

}36. 輸入一行字符,分別統(tǒng)計出其中的英文字符、數(shù)字和其他字符的個數(shù)。

#include<stdio.h>

int main()

{

char d;

int a=0,b=0,c=0;

while((d=getchar())!='\n')

{

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

? a++;

?else if(d>='0'&&d<='9')

? b++;

?else

? c++;

}

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

return 0;

}

37 將輸入的字符串逆序排列,如輸入ABCD,輸出DCBA。

#include<stdio.h>

#include<string.h>

int main()

{

int b,i;

char a[100];

gets(a);

b=strlen(a);

for(i=b-1;i>=0;i--)

{

?printf("%c",a[i]);

}

printf("\n");

return 0;

}

38. 有3個字符串,要求找出其中最大者。

#include<stdio.h>

#include<string.h>

int main()

{

int t;

char a[50],b[50],c[50],d[50];

gets(a);

gets(b);

gets(c);

t=strcmp(a,b);

if(t==1)

?strcpy(d,a);

else

?strcpy(d,b);

t=strcmp(d,c);

if(t==1)

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

else

?printf("%s\n",c);

return 0;

}39. 輸入一行字符,統(tǒng)計其中有多少個單詞,單詞之間用空格分隔開。

#include<stdio.h>

int main()

{

char a;

int b=1;

a=getchar();

while((a=getchar())!='\n')

{

?if(a==' ')

? b++;

}

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

return 0;

}

40. 編一個程序,將兩個字符串連接起來,不要用strcat函數(shù)。

#include<stdio.h>

#include<string.h>

int main()

{

char a[100],b[100];

gets(a);

gets(b);

printf("%s%s\n",a,b);

return 0;

}41. 有一篇文章,共有4行文章,每行有20個字符。要求分別統(tǒng)計出其中英文大寫字符、小寫字母、數(shù)字、空格以及其他字符的個數(shù)。

#include<stdio.h>

int main()

{

int x,s,k,other,i,j,d=0;

char a[20];

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

{

?gets(a);

?d=x=s=k=other=0;

?j=0;

?while(a[j]!='\0')

?{

? if(a[j]>='A'&&a[j]<='Z')

? ? d++;

? else ?if(a[j]>='a'&&a[j]<='z')

? ? x++;

? else ?if(a[j]>='0'&&a[j]<='9')

? ? ?s++;

? else ?if(a[j]==' ')

? ? ? k++;

? else ?other++;

? j++;

?}

?printf("第%d行\(zhòng)n大寫字母=%d\n小寫字母=%d\n數(shù)字=%d\n空格=%d\n其它=%d\n",i+1,d,x,s,k,other);

?

}

}

42. 編程實現(xiàn):輸入任意一個字符串,依次取出字符串中所有數(shù)字字符,形成新的字符串,并取代原字符串后輸出。

#include<stdio.h>

#include<string.h>

int main()

{

char a[100];

int i;

gets(a);

for(i=0;i<=strlen(a);i++)

{

?if(a[i]>='0'&&a[i]<='9')

? printf("%c",a[i]);

}

printf("\n");

return 0;

}43. 編寫一個程序,將字符s2中的全部字符復(fù)制到字符數(shù)組s1中,不用strcpy函數(shù)。

#include<stdio.h>

#include<string.h>

int main()

{

char s1[80],s2[80];

int i;

scanf("%s",s2);

for(i=0;i<=strlen(s2);i++)

?s1[i]=s2[i];

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

return 0;

}

44. 有一行電文,已按下面規(guī)律譯成密碼:

A→Z ? ?a→z

B→Y ? ?b→y

C→X ? ?c→x

即第1個字母變成第26個字母,第i個字母變成第(26 – i + 1)個字母。非字母符號不變。要求編程序?qū)⒚艽a譯回原文,并輸出密碼和原文。

#include<stdio.h>

int main()

{

int j,n;

char ch[80],tran[80];

gets(ch);

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

j=0;

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

{

?if((ch[j]>='A')&&(ch[j]<='Z'))

? tran[j]=155-ch[j];

?else if((ch[j]>='a')&&(ch[j]<='z'))

? tran[j]=219-ch[j];

?else

? tran[j]=ch[j];

?j++;

}

n=j;

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

?putchar(tran[j]);

printf("\n");

return 0;

}


大一C語言考試上__附答案的評論 (共 條)

分享到微博請遵守國家法律
城固县| 临邑县| 武汉市| 瑞安市| 阜南县| 乡宁县| 阳朔县| 新乡县| 方城县| 杭锦后旗| 赣州市| 万荣县| 呼伦贝尔市| 瑞金市| 峨眉山市| 太湖县| 临夏市| 保康县| 射阳县| 长武县| 青阳县| 丁青县| 三门县| 治多县| 阿城市| 渝中区| 盘锦市| 务川| 临沭县| 商都县| 工布江达县| 南平市| 堆龙德庆县| 嵊州市| 莒南县| 金昌市| 孝感市| 商都县| 吉林市| 茌平县| 东方市|