#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;
}