一、題目
1.輸入2個整數,求兩數的平方和並輸出。
2. 輸入一個圓半徑(r)當r>=0時,計算並輸出圓的面積和周長,否則,輸出提示信息。
3、函數y=f(x)可表示為:
4、編寫一個程序,從4個整數中找出最小的數,並顯示此數。
5.有一函數當x<0時y=1,當x>0時,y=3,當x=0時y=5,編程,從鍵盤輸入一個x值,輸出y值。
6.從鍵盤輸入兩個數,求出其最大值(要求使用函數完成求最大值,並在主函數中調用該函數)
7、從鍵盤輸入你和你朋友的年齡,編成判斷誰的年齡最大,並打印最大者的年齡。
8、鍵盤輸入2個加數,再輸入答案,如果正確,顯示“right”,否則顯示“error”
9. 編一程序每個月根據每個月上網時間計算上網費用,計算方法如下:
要求當輸入每月上網小時數,顯示該月總的上網費用(6分)
10.神州行用戶無月租費,話費每分鍾0.6元,全球通用戶月租費50元,話費每分鍾0. 4元。輸入一個月的通話時間,分別計算出兩種方式的費用,判斷哪一種合適。
11.個人所得稅計算,應納稅款的計算公式如下:
收入 |
稅率 |
收入<=1000元部分 |
0% |
2000元>=收入>1000元的部分 |
5% |
3000元>=收入>2000元的部分 |
10% |
6000元>=收入>3000元的部分 |
15% |
收入>6000元的部分 |
20% |
輸入某人的收入,計算出應納稅額及實際得到的報酬。(7分)
(如需連續計算多個人的納稅情況,直到輸入負數為止,程序應如何改進?試寫出程序)
12.從鍵盤上輸入一個百分制成績score,按下列原則輸出其等級:score≥90,等級為A;80≤score<90,等級為B;70≤score<80,等級為C;60≤score<70,等級為D;score<60,等級為E。
13. 編程設計一個簡單的計算器程序。從鍵盤輸入2個操作數,1個運算符,當運算符為加(+)、減(-)、乘(*)、除(/)時,輸出計算結果
14. 從鍵盤輸入10個整數,統計其中正數、負數和零的個數,並在屏幕上輸出。
15、編程序實現求1-200之間的所有數的乘積並輸出。
16. 從鍵盤上輸入10個數,求其平均值。
17、編程序實現求1-1000之間的所有奇數的和並輸出。
18.有一個分數序列:2/1,3/2,5/3,8/5,13/8,21/13……
編程求這個序列的前20項之和。
19. 用數組實現以下功能:輸入5個學生成績,而后求出這些成績的平均值並顯示出來。
20、用循環的方法構造一個5行5列的二維數組,使主對角線上的變量為1,其它為0,並將數組中所有項按行按列顯示出來。
21.求一個3×3矩陣對角線元素之和。從鍵盤輸入矩陣元素的值並輸出和的值.
22.輸入n的值,n代表行數,輸出如圖所示的圖形。(6分)
*
* * *
* * * * *
* * * * * * * (此圖為n=4時的輸出結果)
23、從鍵盤輸入30名學生的成績數據,求其中的最高分、最低分和平均分。
(提示:用數組存放成績數據)
24.從鍵盤輸入某班學生某門課的成績及其學號(班級人數最多40人,具體人數由鍵盤輸入),輸出該班最高分和最低分及其學生學號;並輸出該班該課程的總分和平均分。請編寫程序。
25.將一個有5個元素的數組中的值(整數)按逆序重新存放。
例: 原來順序為:8、6、5、4、1,要求改為1、4、5、6、8
26.從鍵盤上輸入一個2*3的矩陣,將其轉置后形成3*2的矩陣輸出。
27.編寫兩個函數分別求兩個整數的最小公倍數和最大公約數,用主函數調用這兩個函數並輸出結果。兩個整數由鍵盤輸入。
28. 輸入一個3*3矩陣,求出其轉置矩陣,並求出兩個矩陣的和.
29、從鍵盤輸入10名學生的成績數據,按成績從高到低的順序排列並輸出。(提示:用數組存放成績數據)
30. 定義一個5行3列的數組,從鍵盤輸入各數組元素的值,計算各數組元素之和。
31、編寫程序,交換兩個數組中的對應元素。
32、從鍵盤上輸入一個4*3的整型數組,找出數組中的最小值及其在數組中的下標。
33.編程實現如下功能:從鍵盤輸入一行字符,統計其中大寫英文字符,小寫英文字符和其他字符的個數。
34.編程實現如下功能:
1)在主函數中,實現從鍵盤輸入10名學生某門課的成績,保存在一維數組中;調用排序函數;對排序后的數組中的元素按從高到低打印輸出。
2)編寫排序函數,使用數組名做函數參數,實現對該成績的排序。
35.編程實現如下功能:
實現從鍵盤輸入兩個字符串,分別存入兩個不同的字符數組中;將兩個字符串連接為一個字符串,並打印輸出連接后的整個字符。
36、猜數游戲。系統隨機產生一個整數,通過鍵盤輸入數據猜數,猜對為止,並要求統計猜的次數。
注:rand()函數可以產生0~32767間的正整數,程序中需包含stdlib.h。
37.輸入兩個整數,利用指針變量作為函數參數,編程實現兩數互換功能,並將交換后的數據重新輸出。
38.隨機輸入若干個學生的體重,以輸入負數或零結束,分別求最重和最輕的體重,並計算平均體重。
39.輸入m,k的值,編程求下面表達式的值:(要求編寫一個求階乘的函數,調用函數實現本題)
40. 編寫程序,其中自定義一函數,用來判斷一個整數是否為素數,主函數輸入一個數,輸出是否為素數。
c語言試題100道(前三十道)
前三十道
//自己做的由於題干較為模糊可能和標准答案有所差異
1. 按下述格式,從鍵盤輸入一個整數加法表達式:操作數1+操作數2,然后計算
並輸出表達式的計算結果,形式如下:操作數1+操作數2=計算結果。
2. 輸入兩個整形數並打印,如果用戶不慎輸入了非法字符,那么程序提示“輸入
數據類型錯誤”。
3. 已知三角形的三邊長a,b,c,要求編寫程序,從鍵盤輸入a,b,c的值,計算
並輸出三角形的面積(注意不存在的情況)。
4. 編程從鍵盤輸入圓的半徑r,計算並輸出圓的周長和面積。
5. 任意從鍵盤輸入一個三位整數,要求正確分離它的個位,十位和百位數,並分
別在屏幕上輸出。
6. 寫一個函數實現統計一個輸入的整形數的位數。
7. 編程計算方程ax*x+bx+c=0的根,a,b,c由鍵盤輸入,只是用主函數來實現。
8. 編寫三個函數,分別在b*b-4*a*c大於0、小於0、等於0時進行調用,並輸出
結果,在主函數中讀入a、b、c的值。
9. 從鍵盤輸入你和你朋友的年齡,變成判斷誰的年齡大,並打印最大者的年齡。
10. 從鍵盤輸入一個年份,判斷該年是否是閏年,並輸出結果。
11. 判斷某人是否屬於肥胖體型。根據身高與體重因素,醫務工作者經廣泛的調查
分析給出了以下按“體指數”對肥胖程度的划分:體指數t=w/h*h(w為體重,
單位為kg,h為身高,單位為m)。當t<18時,為低體重;當t介於18和25
之間時,為正常體重;當t介於25和27之間時,為超重體重;當t≧27時,
為肥胖。編程從鍵盤輸入你的身高h和體重w,根據上式,判斷體重類型。
12. 利用switch語句將百分制成績轉化為五分制成績。
13. 利用switch語句將五分制成績轉換成對應分數范圍並輸出。
14. 編程設計一個簡單的計算器程序,要求根據用戶從鍵盤輸入的表達式:操作數
1 運算符op 操作數2 計算表達式的值,指定的運算符為加減乘除。
15. 利用時間函數編寫一個猜數程序。
16. 編程實現計算n的階乘。
17. 利用函數遞歸實現計算n!。
18. 利用π/4=1-1/3+1/5-1/7??計算π的值直到最后一項的絕對值小於0.0001
為止,要求統計總共累加了多少項。
19. 編程輸出正三角格式的九九乘法表。
20. 編程輸出下三角格式的九九乘法表。
21. 從鍵盤任意輸入一個正整數,編程判斷它是否是素數,若是素數,輸出“YES”,
否則輸出“NO!”。
22. 編寫一個程序實現輸出1—100之間所有素數。
23. 編寫一個程序實現輸出任意指定m、n之間的所有素數。
24. 讀入一個年份和月份,打印出該月有多少天(考慮閏年),用switch語句編程。
25. 打印所有的水仙花數。所謂水仙花數是指一個三位數,其各位數字的立方和等
於該數本身。(例159=1*1*1+3*3*3+5*5*5)
26. 雞兔同籠,共有98個頭,386只腳,編程求雞兔各多少只。
27. 用1元5角錢人名幣兌換5分、2分和1分的硬幣(每一種都要有)共一百枚,
問共有幾種兌換方案?並輸出每種方案。
28. 三色球問題。若一個口袋中放有12個球,其中有3個紅色的,3個白色的,6
個黑色的,從中任取8個球,問共有多少種不同的顏色搭配?
29. 打印100以內整數的平方根表。
30. 編程打印一下圖案:
@
@ @ @
@ @ @ @ @
@ @ @ @ @ @ @
1.
#include<stdio.h>
main()
{
int a,b;
scanf("%d+%d",&a,&b);
printf("%d+%d=%d",a,b,a+b);
}
2.
#include<stdio.h>
main()
{
int a,b;
int i,j;
i= scanf("%d",&a);
j= scanf("%d",&b);
if (i==1&&j==1) printf("%d %d",a,b);
else printf("輸入類型錯誤!\n");
}
3.
#include<stdio.h>
#include<math.h>
main()
{
double s,p,a,b,c,i;
scanf("%lf%lf%lf",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
p=0.5*(a+b+c);
i=p*(p-a)*(p-b)*(p-c);
s=sqrt(i);
printf("%lf",s);
}
else printf("輸入錯誤");
}
4.
#include<stdio.h>
#define pi 4.0*atan(1.0)
main()
{
int r;
double s,c;
scanf("%d",&r);
c=2*pi*r;
s=pi*r*r;
printf("%lf %lf",c,s);
}
5.
#include<stdio.h>
main()
{
int x,a,b,c;
scanf("%d",&x);
a=x/100;
b=x/10%10;
c=x%10;
printf("%d\n%d\n%d\n",c,b,a);
}
6.
#include<stdio.h>
int my(int a)
{
int i;
for(i=1;i<=100;i++)
{
a=a/10;
if(a==0) break;
}
return i;
}
main()
{
int x,y;
scanf("%d",&x);
y=my(x);
printf("%d",y);
}
題目要求用函數,如果不會函數的話可以這么寫。
#include<stdio.h>
main()
{
int x,y,i;
scanf("%d",&x);
for(i=1;i<=100;i++)
{
x=x/10;
if(x==0) break;
}
printf("%d",i);
}
7.
#include<stdio.h>
#include<math.h>
main()
{
int a,b,c,x1,x2;
double i;
scanf("%d%d%d",&a,&b,&c);
i=b*b-4*a*c;
if(i>=0)
{
x1=((-b)+sqrt(i))/(2*a);
x2=((-b)-sqrt(i))/(2*a);
printf("%d %d",x1,x2);
}
}
8.
#include<stdio.h>
#include<math.h>
text1(double i ,int a,int b)
{
double x1,x2;
x1=((-b)+sqrt(i))/(2*a);
x2=((-b)-sqrt(i))/(2*a);
printf("%lf %lf",x1,x2);
}
text2(double i ,int a,int b)
{
double x1,x2;
x2=x1=((-b)+sqrt(i))/(2*a);
printf("%lf %lf",x1,x2);
}
text3(double i ,int a,int b;)
{
printf("無實根");
}
main()
{
int a,b,c;
double x1,x2,i;
i=b*b-4*a*c;
if(i>0) text1(i,b,c);
else if(i=0) text2(i,b,c);
else if(i<0) text3(i,b,c);
}
9.
#include<stdio.h>
main()
{
double x,y;
scanf("%lf%lf",&x,&y);
printf("%lf",x>y?x:y);
}
10.
#include<stdio.h>
main()
{
int x;
scanf("%lf",&x);
printf("%c",x%400==0?'t':'f');
}
#include<stdio.h>
main()
{
int y;
scanf("%d",&y);
if(y%400==0) printf("閏年");
else printf("平年");
}
11.
#include<stdio.h>
int main()
{
double t,w,h;
scanf("%lf%lf",&w,&h);
t=w/h*h;
if(t<18) printf("低體重");
else if(t>=18&&t<25)printf("正常體重");
else if(t>=25&&t<27)printf("超重體重");
else printf("肥胖");
return 0;
}
12.
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
a=a/10;
switch(a)
{
case 10:
case 9: printf("A");break;
case 8: printf("B");break;
case 7: printf("C");break;
case 6: printf("D");break;
default:printf("E");break;
}
return 0;
}
13.
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
a=a/10;
switch(a)
{
case 10:
case 9: printf("A");break;
case 8: printf("B");break;
case 7: printf("C");break;
case 6: printf("D");break;
default:printf("E");break;
}
return 0;
}
14.
#include<stdio.h>
int main()
{
double a,b;
char c;
scanf("%lf%c%lf",&a,&c,b);
switch(c)
{
case '+': printf("%lf",a+b);break;
case '-': printf("%lf",a-b);break;
case '*': printf("%lf",a*b);break;
case '/':
if(b!=0) printf("%lf",a/b);
else printf("分母為0");
}
return 0;
}
15.
#include<stdio.h>
main()
{
int magic,guess=0;
int count=0;
srand(time(NULL));
magic = rand()%100+1;
while(magic!=guess)
{
printf("please enter:");
scanf("%d",&guess);
count++;
if(guess>magic) printf("WRONG,too big!\n");
else if(guess<magic) printf("WRONG,too small!\n");
else printf("RIGHT!\n");
}
printf("count = %d\n",count);
}
16.
#include<stdio.h>
main()
{
int s=1,sum=0,i,j,n;
scanf("%d",&n);
for(i=1;i<=n;i++) s*=i;
printf("%d",s);
}
17.
並未用遞歸做版本
#include<stdio.h>
int my(int n)
{
int i,m;
m=1;
for(i=1;i<=n;i++)
{
m*=i;
}
return m;
}
main()
{
int s,n;
scanf("%d",&n);
s=my(n);
if(n==0||n==1) s=1;
printf("%d",s);
}
使用遞歸
#include<stdio.h>
int my(int n)
{
if(n==0||n==1) return 1;
return my(n-1)*n;
}
main()
{
int s,n;
scanf("%d",&n);
s=my(n);
printf("%d",s);
}
18.
#include<stdio.h>
int main()
{
int i=2,f=1;
double pi,sum=0,t=1;
while(t>=1e-4)
{
sum=sum+f*t;
t=1.0/(2*i-1);
i++;
f=-f;
}
pi=sum*4;
printf("%lf",pi);
}
19.
#include<stdio.h>
main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
printf("%d*%d=%d ",j,i,i*j);
printf("\n");
}
}
20.
#include<stdio.h>
int main()
{
int m,n;
for(m=9;m>=1;m--)
{
for(n=1;n<=m;n++)printf("%4d",m*n);
printf("\n");
}
return 0;
}
21.
#include<stdio.h>
main()
{
int a,i;
scanf("%d",&a);
for(i=2;i<=a;i++)
if(a%i==0) break;
printf("%s",i>=a?"Yes":"NO");
}
22.
#include<stdio.h>
main()
{
int i,j;
for(j=2;j<=100;j++)
{
for(i=2;i<=j;i++)
if(j%i==0) break;
if(i==j)printf("%d\n",j);
}
}
#include<stdio.h>
#include<math.h>
main()
{
int i,j,k;
for(j=2;j<=100;j++)
{
k=sqrt(j);
for(i=2;i<=k;i++)
if(j%i==0) break;
if(i>k)printf("%d\n",j);
}
}
23.
#include<stdio.h>
main()
{
int i,j,m,n;
scanf("%d%d",&m,&n);
for(j=m;j<=n;j++)
{
for(i=2;i<=j;i++)
if(j%i==0) break;
if(i==j)printf("%d\n",j);
}
}
24.
#include<stdio.h>
main()
{
int y,d,s;
scanf("%d%d",&y,&d);
if(y%400==0&&d==2)s=2;
elseif(y%400!=0&&d==2) s=4;
elseif(d==1||d==3||d==5||d==7||d==8||d==10||d==12) s=3;
else s=1;
switch(s)
{
case1:printf("30");break;
case2:printf("29");break;
case3:printf("31");break;
case 4:printf("28");break;
}
}
25.
#include<stdio.h>
main()
{
int s,a,b,c;
for(s=100;s<=999;s++)
{
a=s/100;
b=s/10%10;
c=s%10;
if(s==a*a*a+b*b*b+c*c*c) printf("%d\n",s);
}
}
#include<stdio.h>
main()
{
int i,j,k;
for(i=1;i<=9;i++)
for(j=0;j<=9;j++)
for(k=0;k<=9;k++)
if(100*i+10*j+k==i*i*i+j*j*j+k*k*k)
printf("%d%d%d",i,j,k);
}
26.
#include<stdio.h>
main()
{
int x;
for(x=1;x<98;x++)
if(386==x*4+(98-x)*2) printf("%d %d",x,98-x);
}
27.
#include<stdio.h>
main()
{
int i,j,k ,count=0;
for(i=1;i<30;i++)//只要i!=30,j!=75,k!=150就能滿足硬幣三種都存在
{
for(j=1;j<75;j++)
{
for(k=1;k<98;k++)
{
if(i*5+j*2+k==150&&i+j+k==100)
{
printf("%d %d%d\n",i,j,k);
count++;
}
}
}
}
printf("%d",count);
}
#include<stdio.h>
main()
{
int i,j,k,count=0;
for(i=1;i<30;i++)//只要i!=30,j!=75就能滿足硬幣三種都存在
{
for(j=1;j<75;j++)
{
k=100-i-j;
if(i*5+j*2+k==150)
{
printf("%d %d%d\n",i,j,k);
count++;
}
}
}
printf("%d",count);
}
28
#include<stdio.h>
main()
{
int i,j,k,count=0;
for(i=1;i<=3;i++)
{
for(j=1;j<=3;j++)
{
for(k=1;k<=6;k++)
if(i+j+k==8)count++;
}
}
printf("%d",count);
}
#include<stdio.h>
main()
{
int i,j,k,count=0;
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
for(k=1;k<=6;k++)
if(i+j+k==8)count++;
printf("%d",count);
}
#include<stdio.h>
main()
{
int i,j,k,count=0;
printf(" hong bai hei\n");
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
for(k=2;k<=6;k++)
{
if(i+j+k==8)
{
count++;
printf("%5d%5d%5d\n",i,j,k);
}
}
printf("count = %d\n",count);
}
29.垃圾題不說題目要求
#include<stdio.h>
#include<math.h>
int main()
{
int i;
double a;
for(i=1;i<=100;i++) printf("%lf\n",(double)sqrt(i));
}
#include "stdio.h"
#include "math.h"
main()
{
double i;
int b=0;
printf(" 0\t 1\t 2\t 3\t 4\t 5\t 6\t 7\t 8\t 9\n");
for(i = 0; i<100; i = i+1)
{
if(i==0||i==10||i==20||i==30||i==40||i==50||i==60||i==70||i==80||i==90)
{
printf("%d ",b);
b++;
printf("%.3f\t",sqrt(i));
}
else
printf("%.3f\t",sqrt(i));
}
}
#include <stdio.h>
#include <math.h>
main()
{
double i;
int b=0;
printf(" 0\t 1\t 2\t 3\t 4\t 5\t 6\t 7\t 8\t 9\n");
for(i = 0; i<100; i = i+1)
{
if((int)i%10==0)
{
printf("%d ",b);
b++;
printf("%.3f\t",sqrt(i));
}
else
printf("%.3f\t",sqrt(i));
}
}
30.
#include<stdio.h>
main()
{
int i,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=2*i-1;j++) printf("@");
printf("\n");
}
}