max=a[i];
}
printf("学生成绩最高分为:
%d\n",max);
}
8)输入三个整数,分别存在变量x,y,z中。
编程输出最大数。
#include
voidmain()
{
intx,y,z;
scanf("%d%d%d",&x,&y,&z);
if(x>y)
{if(x>z)
printf("最大数是%d\n",x);
elseprintf("最大数是%d\n",z);
}
elseif(y>z)
printf("最大数是%d\n",y);
elseprintf("最大数是%d\n",z);
}
9)输入一个字母,判断是大写字母还是小写字母,并输出信息。
#include
voidmain()
{
charc;
scanf("%c",&c);
if(c>=97&&c<=122)
printf("这是一个小写字母\n");
elseif(c>=65&&c<=90)
printf("这是一个大写字母\n");
}
10)输入你和你朋友的年龄,编程判断谁的年龄较大,并打印较大者的年龄。
#include
voidmain()
{
intage1,age2;
printf("输入你的年龄:
");
scanf("%d",&age1);
printf("输入你朋友的年龄:
");
scanf("%d",&age2);
if(age1>age2)
printf("你年龄比较大\n%d",age1);
elseprintf("你的朋友年龄较大\n%d\n",age2);
}
11)输入一个数,求出该数绝对值所对应的开方。
#include
#include
intmain(void)
{
inta,b;doublec;
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);
}
return0;
}
12)输入一个字母,如果接收的是‘n’或者‘N’,
则输出“no”。
否则输出“wrong”。
从键盘读入一个整数,
统计该数的位数。
例如,输入12534,输出5;输入-99,输出2;输入0,输出1。
13)输入一个字符,如果是字母,输出其对应的ASCII码
,如果是数字,按原样输入,否则给出提示信息“输入错误!
”。
14)输入一个年份year,判断改年是否是闰年。
判断闰年的条件是:
能被4整除但不能被100整除,或能被400整除。
#include
voidmain()
{
intyear;
scanf("%d",&year);
if(year%4==0&&year%100!
=0||year%400==0)
{
printf("润年");
}
else
{
printf("非润年");
}
}
15)输入一个正整数,将其逆序输出。
例如,输入12345,输出54321。
#include
voidmain()
{
longn,m;
printf("输入一个正整数");
scanf("%d",&n);
while(n!
=0)
{
m=n%10;
n=n/10;
printf("%d",m);
}
}
16)输入20个字符,统计其中英文字母、数字字符和其他字符的个数。
17)输入三角形三边,输出其面积和周长
#include
#include
intmain(void)
{
doublea,b,c;
doublearea,perimeter,s;
printf("Enter3sidesofthetriangle:
");
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("Thesesidesdonotcorrespondtoavalidtriangle\n");
return0;
}
18)输入大写字母,输出其小写字母
#include
voidmain()
{
charc;
printf("输入大写字母:
\n");
c=getchar();
putchar(c+32);
}
19)输入两实数(浮点数),由大到小输出(先强转,比较大小,后输出)
20)输入一系列字符,统计其中英文字母,数字,空格的个数
21)输入若干个非零整数,以0为终止符,输出这批数中的最大值。
22)统计在[2980-21980]之间有多少个数能同时被29和43整除,而不能被53整除。
23)计算n的阶层:
n!
#include
voidmain()
{
longn,i,s=1;//s为所求和
printf("Entern:
");
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
voidmain()
{
intn,sigh=1,k=1;
floatm=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
voidmain()
{
inta,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
voidmain()
{
intj,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
voidmain()
{
intn,sigh=1;
floatm,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
voidmain()
{
intj,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//100到999内的水仙花数
voidmain()
{
inti,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
#include
voidmain()
{
inta,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{
printf("对不起,你猜小了\n");
i++;
}
}
printf("总共猜了%d次\n",i);
}
31)打印100-999以内所有满足条件的数。
条件为:
这个数等于其个位数,
十位数,百位数立方和,如153=1*1*1+5*5*5+3*3*3
#include//100到999内的水仙花数
voidmain()
{
inti,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]Selectcrisps[2]Selectpopcorn[3]Selectchocolate[4]Selectcola[0]Exit
#include
voidmain()
{
intg,i;
floata=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)
{
case1:
printf("薯片的价格为%.1f\n",a);break;
case2:
printf("爆米花价格为%.1f\n",b);break;
case3:
printf("巧克力价格为%.1f\n",c);break;
case4:
printf("可乐价格位%.1f\n",d);break;
case0:
i=6;break;
}
}
}
33)猴子吃桃问题:
猴子第一天摘下若干个桃子,当即吃了一半,
还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,
又多吃了一个。
以后每天早上都吃了前一天剩下的桃子的一半多一个。
到第10天早上想再吃,见只剩下一个桃子了。
求第一天共摘了多少桃子。
#include
voidmain()
{
inti,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
#definePI3.14
voidmain()
{
floatr,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
voidmain()
{
intgrade;
printf("Intergrade:
");
scanf("%d",&grade);
if(grade>=90&&grade<100)
printf("Gradeis:
A\n");
elseif(grade>=60&&grade<=89)
printf("Gradeis:
B\n");
elseif(grade<60&&grade>=0)
printf("Gradeis:
C\n");
elseprintf("error\n");
}
36)求解爱因斯坦数学题。
有一条长阶梯,若每步跨2阶,则最后剩余1阶,
若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,
若每步跨6阶则最后剩5阶,若每步跨7阶,最后才正好一阶不剩。
请问,这条阶梯共有多少阶?
#include
voidmain()
{
intx=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\"tocontinue\n");
getchar();
x++;
}
}
37)输出9*9乘法口诀。
#include
voidmain()
{
inta,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
voidmain()
{
inti,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
voidmain()
{
intx,y;
printf("Enterx:
");
scanf("%d",&x);
if(x<0)y=1;
elseif(x>0)y=3;
elsey=5;
printf("y=%d\n",y);
}
40)一球从100米高度自由落下,每次落地后反跳回原高度的一半;
再落下,求它在第10次落地时,共经过多少米?
第10次反弹多高?
#include
voidmain()
{
intn;
doubleh,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
voidmain()
{
inta=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
voidmain()
{
inta,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
voidmain()
{
intx,y;
printf("Enterx:
");
scanf("%d",&x);
if(x<0)y=2*x+1;
elseif(x>0)y=2*x-1;
elsey=0;
printf("y=%d\n",y);
}
44)若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,
每次从中任取8个球,编写程序求出共有多少种不同的颜色搭配。
#include
voidmain()
{
inta,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("