當前位置:編程學習大全網 - 編程語言 - 大壹明天就要c語言考試了,可是什麽都不會,我怎麽預習才能效率最高!

大壹明天就要c語言考試了,可是什麽都不會,我怎麽預習才能效率最高!

1)輸入1個整數,輸出它的絕對值。

#include<stdio.h>

void main()

{

int a;

scanf("%d",&a);

if(a>=0)

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

else

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

}

2)輸入2個整數,求兩數的平方和並輸出。

#include <stdio.h>

void main()

{

int a, b;

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

printf("%d", a * a + b * b);

}

3)輸入1個整數,判斷該數是奇數還是偶數。

#include<stdio.h>

main(void)

{

int a;

printf("please input your number:");

scanf("%d",&a);

if(a%2==0)

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

else

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

return 0;

}

4)輸入正整數n,輸出1+1/3+1/5+1/7+…前n項的和.(輸入的n<=10)

#include<stdio.h>

void main()

{

int n;

float sum=0;

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

{ sum=sum+1.0/(2*n-1); }

printf("%f",sum);

}

5)輸入壹個正整數n, 計算 1 - 1/3 + 1/5 - 1/7 + … 的前 n(n>10) 項之和。

#include <stdio.h>

void main()

{

int n,i=1,m;

float a=0;

printf("輸入壹個正整數N:");

scanf("%d",&n);

for(m=1;m!=(n+1);m++)

{ a+=i*1.0/(2*m-1);

i=-i; }

printf("結果為:%f",a);

}

6)輸入壹個整數,判斷該數是奇數還是偶數。要求必須使用if-else結構實現。

#include <stdio.h>

void main()

{

int a;

printf("please enter a number:");

scanf("%d",&a);

if(a%2==0)

printf("該數為偶數");

else

printf("該數為奇數");

}

7)輸入壹批學生的成績,找出最高分。

#include <stdio.h>

#define N 5 //通過改變宏定義,改變數組元素的個數

void main()

{

int a[N];

int i;

int max;

max=a[0];

printf("請輸入壹組學生成績(假設有5位學生成績,且學生成績都是整數型)\n");

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

{

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

// printf("%f\n",a[i]);

}

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

{

if(max<a[i])

max=a[i];

}

printf("學生成績最高分為:%d\n",max);

}

8)輸入三個整數,分別存在變量x,y,z中。編程輸出最大數。

#include <stdio.h>

void main()

{

int x,y,z;

scanf("%d%d%d",&x,&y,&z);

if(x>y)

{if(x>z)

printf("最大數是%d\n",x);

else printf("最大數是%d\n",z);

}

else if(y>z)

printf("最大數是%d\n",y);

else printf("最大數是%d\n",z);

}

9)輸入壹個字母,判斷是大寫字母還是小寫字母,並輸出信息。

#include <stdio.h>

void main()

{

char c;

scanf("%c",&c);

if(c>=97&&c<=122)

printf("這是壹個小寫字母\n");

else if(c>=65&&c<=90)

printf("這是壹個大寫字母\n");

}

10)輸入妳和妳朋友的年齡,編程判斷誰的年齡較大,並打印較大者的年齡。

#include<stdio.h>

void main()

{

int age1,age2;

printf("輸入妳的年齡:");

scanf("%d",&age1);

printf("輸入妳朋友的年齡:");

scanf("%d",&age2);

if (age1>age2)

printf("妳年齡比較大\n%d",age1);

else printf("妳的朋友年齡較大\n%d\n",age2);

}

11)輸入壹個數,求出該數絕對值所對應的開方 。

#include<stdio.h>

#include<math.h>

int main (void)

{

int a,b;double c;

scanf("%d",&a);

if(a>=0)

{

b=a;

c=sqrt(b);

printf("%d的絕對值的開方是%lf",a,c);

}

else

{

b=-a;

c=sqrt(b);

printf("%d的絕對值的開方是%lf",a,c);

}

return 0;

}

12)輸入壹個字母,如果接收的是‘n’或者‘N’,

則輸出“no”。否則輸出“wrong”。從鍵盤讀入壹個整數,

統計該數的位數。例如,輸入12534,輸出5;輸入-99,輸出2;輸入0,輸出1。

13)輸入壹個字符,如果是字母,輸出其對應的ASCII碼

,如果是數字,按原樣輸入,否則給出提示信息“輸入錯誤!”。

14)輸入壹個年份year,判斷改年是否是閏年。

判斷閏年的條件是:能被4整除但不能被100整除,或能被400整除。

#include<stdio.h>

void main()

{

int year;

scanf("%d",&year);

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

{

printf("潤年");

}

else

{

printf("非潤年");

}

}

15)輸入壹個正整數,將其逆序輸出。例如,輸入12345,輸出54321。

#include<stdio.h>

void main()

{

long n,m;

printf("輸入壹個正整數");

scanf("%d",&n);

while(n!=0)

{

m=n%10;

n=n/10;

printf("%d",m);

}

}

16)輸入20個字符,統計其中英文字母、數字字符和其他字符的個數。

17)輸入三角形三邊,輸出其面積和周長

#include<stdio.h>

#include<math.h>

int main(void)

{

double a,b,c;

double area,perimeter,s;

printf("Enter 3 sides of the triangle:");

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

if(a+b>c||b+c>a||a+c>b){

s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

perimeter=a+b+c;

printf("area=%.2f;perimeter=%.2f/n",area,perimeter);

}

else

printf("These sides do not correspond to a valid triangle\n");

return 0;

}

18)輸入大寫字母,輸出其小寫字母

#include<stdio.h>

void main()

{

char c;

printf("輸入大寫字母:\n");

c=getchar();

putchar(c+32);

}

19)輸入兩實數(浮點數),由大到小輸出(先強轉,比較大小,後輸出)

20)輸入壹系列字符,統計其中英文字母,數字,空格的個數

21)輸入若幹個非零整數,以0為終止符,輸出這批數中的最大值。

22)統計在[2980-21980]之間有多少個數能同時被29和43整除,而不能被53整除。

23)計算n的階層:n!

#include<stdio.h>

void main()

{

long n,i,s=1; //s為所求和

printf("Enter n:");

scanf("%d",&n); //輸入N的值

if(n>=0)

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

s=s*i;

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

else

printf("error\n");

}

24)計算 s=1-2!+3!-4!+…-n!的值並輸出,其中n不大於10。要求必須使用for語句實現。

#include <stdio.h>

void main()

{

int n,sigh=1,k=1;

float m=1,sum=0;

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

{

m=m*n; //用來計算N的階乘

sum=sum+k*m;

k=-k;

}

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

}

25)計算 公式 a-|b|,其中a,b為兩個整數。

#include <stdio.h>

void main()

{

int a,b,sum;

printf("輸入正數a:");

scanf("%d",&a);

printf("輸入b:");

scanf("%d",&b);

if(b>=0)

{

sum=a-b;

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

}

else

{

b=-b;

sum=a-b;

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

}

}

26)計算 s=a+aa+aaa+aaaa+aa...a的值,

其中a是壹個數字。例如2+22+222+2222+22222(此時 ***有5個數相加),

幾個數相加有鍵盤控制。

#include <stdio.h>

void main()

{

int j,k,i,sum=0,n=1,m,a=0;

printf("輸入累加到幾位數:");

scanf("%d",&j);

printf("輸入累加數字:");

scanf("%d",&k);

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

{

sum=sum+k*n;

n=n*10;

for(m=1;m<=1;m++)

{

a=a+sum;

}

}

printf("該數為%d\n",a);

}

27)編寫程序,求S=1/(1*2)+1/(2*3)+1/(3*4)+……前50項之和。要求必須使用for語句實現。

#include <stdio.h>

void main()

{

int n,sigh=1;

float m,sum=0,term;

for(n=1;n<=50;n++)

{

m=n*(n+1); //用來計算N的階乘

term=sigh/m; //用來計算1/N的值

sum=sum+term;

}

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

}

28)編程求1+(1+2)+…+(1+2+…+n),n的值由鍵盤輸入。要求使用for語句實現

#include <stdio.h>

void main()

{

int j,k,i,sum=0,n=1,m,a=0;

printf("輸入累加到幾:");

scanf("%d",&j);

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

{

sum=sum+n;

n++;

for(m=1;m<=1;m++)

{

a=a+sum;

}

}

printf("該數為%d\n",a);

}29)題目:打印出所有的“水仙花數”,所謂“水仙花數”是指壹個三位數,

其各位數字立方和等於該數 本身。例如:153是壹個“水仙花數”,

因為153=1的三次方+5的三次方+3的三次方。

#include <stdio.h> //100到999內的水仙花數

void main()

{

int i,b,s,g;

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

{

b=i/100; //百位

s=(i/10)%10; //十位

g=i%10; //個位

if(b*b*b+s*s*s+g*g*g==i)

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

}

}

30)猜數遊戲。由計算機"想"壹個數請人猜,如果人猜對了,

則結束遊戲,否則計算機給出提示,告訴人所猜的數是太大還是太小,

直到人猜對為止。計算機記錄人猜的次數,以此可以反映出猜數者"猜"的水平。

#include <stdio.h>

#include<stdlib.h>

void main()

{

int a,b,i,k;

a=rand()%89+10; //取10到100的隨機數

for(i=0;i!=k;)

{ printf("輸入被猜的數字");

scanf("%d",&b);

if(b==a)

{

i++;

printf("恭喜妳猜對了,成功通關\n");

k=i;

}

if(b>a)

{

printf("對不起,妳猜大了\n");

i++;

}

if(b<a)

{

printf("對不起,妳猜小了\n");

i++;

}

}

printf("總***猜了%d次\n",i);

}

31)打印100-999以內所有滿足條件的數。條件為:這個數等於其個位數,

十位數,百位數立方和,如153=1*1*1+5*5*5+3*3*3

#include <stdio.h> //100到999內的水仙花數

void main()

{

int i,b,s,g;

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

{

b=i/100; //百位

s=(i/10)%10; //十位

g=i%10; //個位

if(b*b*b+s*s*s+g*g*g==i)

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

}

}

32)查詢自動售貨機中商品的價格。假設自動化售貨機出售4種商品:

薯片(crisps)、爆米花(popcorn)、巧克力(chocolate)和可樂(cola),

售價分別是每份3.0、2.5、4.0和3.5元。在屏幕上顯示以下菜單(編號和選項),

用戶可以連續查詢商品的價格,當查詢次數超過5次時,自動退出查詢;不到5次時,

用戶可以選擇退出。當用戶輸入編號1~4,顯示相應商品的價格(保留1位小數);

輸入0,退出查詢;輸入其他編號,顯示價格為0。

[1]Select crisps[2]Select popcorn[3]Select chocolate[4]Select cola[0]Exit

#include <stdio.h>

void main()

{

int g,i;

float a=3,b=2.5,c=4,d=3.5;

printf("[1]選擇薯片\n");

printf("[2]選擇爆米花\n");

printf("[3]選擇巧克力\n");

printf("[4]選擇可樂\n");

printf("[0]退出查詢\n");

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

{

printf("請輸入查詢的物品數字:");

scanf("%d",&g);

switch(g)

{

case 1:printf("薯片的價格為%.1f\n",a);break;

case 2:printf("爆米花價格為%.1f\n",b);break;

case 3:printf("巧克力價格為%.1f\n",c);break;

case 4:printf("可樂價格位%.1f\n",d);break;

case 0:i=6;break;

}

}

}

33)猴子吃桃問題:猴子第壹天摘下若幹個桃子,當即吃了壹半,

還不過癮,又多吃了壹個。第二天早上又將剩下的桃子吃掉壹半,

又多吃了壹個。以後每天早上都吃了前壹天剩下的桃子的壹半多壹個。

到第10天早上想再吃,見只剩下壹個桃子了。求第壹天***摘了多少桃子。

#include <stdio.h>

void main()

{

int i,k=1,n=0,sum=1;

for(i=10;i>=1;i--)

{

sum=sum+k;

sum=sum*2;

}

printf("第壹天摘桃子數為%d\n",sum);

}

34)輸入壹個圓半徑(r)當r>=0時,計算並輸出圓的面積和周長,否則,輸出提示信息。

#include <stdio.h>

#define PI 3.14

void main()

{

float r,s,l;

printf("輸入圓的半徑:");

scanf("%f",&r);

l=2*PI*r;

s=PI*r*r;

printf("輸出圓的周長=%f\n面積=%f\n",l,s);

}

35)利用條件運算符的嵌套來完成此題:學習成績>=90分的同學用A表示,

60-89分之間的用B表示, 60分以下的用C表示。

#include<stdio.h>

void main()

{

int grade;

printf("Inter grade:");

scanf("%d",&grade);

if(grade>=90&&grade<100)

printf("Grade is:A\n");

else if(grade>=60&&grade<=89)

printf("Grade is:B\n");

else if(grade<60&&grade>=0)

printf("Grade is:C\n");

else printf("error\n");

}

36)求解愛因斯坦數學題。有壹條長階梯,若每步跨2階,則最後剩余1階,

若每步跨3階,則最後剩2階,若每步跨5階,則最後剩4階,

若每步跨6階則最後剩5階,若每步跨7階,最後才正好壹階不剩。

請問,這條階梯***有多少階?

#include<stdio.h>

void main()

{

int x=1;//x為階長

while(x)

{

if(x%2!=1) {x++;continue;}

if(x%3!=2) {x++;continue;}

if(x%5!=4) {x++;continue;}

if(x%7) {x++;continue;}

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

printf("press \"Enter\" to continue\n");

getchar();

x++;

}

}

37)輸出9*9乘法口訣。

#include<stdio.h>

void main()

{

int a,b,c;

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

{ for(b=1;b<=9;b++)

{

c=a*b;

if(b<=a)

printf("%d*%d=%2d\t",b,a,c);

}putchar('\n');

}

}

38)用for循環輸出菱形圖案

#include<stdio.h>

void main()

{

int i,j,k;

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

{

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

printf(" ");

for(k=1;2*i-k>0;k++)

printf("*");

printf("\n");

}

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

{

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

printf(" ");

for(k=0;2*i-1>k;k++)

printf("*");

printf("\n");

}

}

39)有壹函數當x<0時y=1,當x>0時,y=3,當x=0時y=5,編程,

從鍵盤輸入壹個x值,輸出y值

#include<stdio.h>

void main()

{

int x,y;

printf("Enter x:");

scanf("%d",&x);

if(x<0) y=1;

else if(x>0) y=3;

else y=5;

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

}

40)壹球從100米高度自由落下,每次落地後反跳回原高度的壹半;

再落下,求它在 第10次落地時,***經過多少米?第10次反彈多高?

#include<stdio.h>

void main()

{

int n;

double h,x,sum;

h=100.0;

sum=0.0;

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

{

x=h/2.0;

sum=sum+h+x;

h=h/2.0;

}

printf("小球下落100米\n十次後小球***經過%lf米 第十次上彈%lf米\n",sum,x);

}

41)輸出菲波那契(Fibonacci)序列:1,1,2,3,5,8,…的前20項,每行輸出5項。

#include<stdio.h>

void main()

{

int a=0,b=1,c,i,j;

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

{

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

{

c=a+b;

printf("%d\t",c);

a=b;

b=c;

}putchar('\n');

}

}

42)100匹馬馱100擔貨,大馬壹匹馱3擔,中馬壹匹馱2擔,

小馬兩匹馱1擔。試編寫程序計算大、中、小馬的數目。

#include<stdio.h>

void main()

{

int a,b,c,sum=100;//大 中 小

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

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

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

{

if(a+b+c==100&&(a*3+b*2+c)==sum)

printf("大馬:%d 中馬:%d 小馬:%d\n",a,b,c);

}

}

43)函數y=f(x)可表示為:y=2x+1 (x<0) ;y= 0 (x=0) ;y=2x-1 (x>0)

編程實現輸入壹個x值,輸出y值。

#include<stdio.h>

void main()

{

int x,y;

printf("Enter x:");

scanf("%d",&x);

if(x<0) y=2*x+1;

else if(x>0) y=2*x-1;

else y=0;

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

}

44)若壹個口袋中放有12個球,其中有3個紅的,3個白的和6個黑的,

每次從中任取8個球,編寫程序求出***有多少種不同的顏色搭配。

#include<stdio.h>

void main()

{

int a,b,c,sum;

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

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

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

if(a+b+c==8)

{

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

sum++;

}

}

45) 從鍵盤輸入壹個學生的分數, 要求實現這樣的判斷功能:

如果分數大於100,輸出”Input error!” 如果分數介於100到90之間,

輸出”Very Good!” 如果分數介於80到90只,輸出”Good!”

如果分數介於70到80之間,輸出”Middle”

如果分數介於60到70之間, 輸出”Pass”

如果分數小於60,輸出”No Pass!” 。要求必須使用if-else-if結構實現。

#include<stdio.h>

void main()

{

int grade;

printf("Inter grade:");

scanf("%d",&grade);

if(grade>=90&&grade<100)

printf("Very Good!\n");

else if(grade>=80&&grade<=89)

printf("Good!\n");

else if(grade>=70&&grade<=79)

printf("Middle!\n");

else if(grade>=60&&grade<=79)

printf("Pass!\n");

else if(grade<60&&grade>=0)

printf("No Pass\n");

else printf("Input error!\n");

}

46) 輸入兩正整數 a n ,求a+aa+aaa+aa...a(n個a)之和。

#include"stdio.h"

int main(void)

{

int a,b,n,i,s=0;

printf("Input a,n:");

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

b=a;

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

{

s=s+a;

a=a*10+b;

}

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

return 0;

}

47) 輸入壹個正整數n,再輸入n個整數,輸出最小值

#include <stdio.h>

int main()

{

int i,n,min=999999,x; //min賦值為極大值

printf("input:");

scanf("%d",&n);

printf("input numbers:");

for(i>0;i<n;i++)

{

scanf("%d",&x);

if(x<min) min=x;

}

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

return 0;

}

  • 上一篇:求進程調度先來先服務算法,短進程優先算法完整c語言代碼
  • 下一篇:生態學專業如果不考研可以應聘什麽工作
  • copyright 2024編程學習大全網