max=a[i];
printf("平均成绩:
%f,最高分:
%f,最低分:
%f",ave,max,min);
getch();
}
003.用while循环结构编写程序打印ASCII码为33-127的字符。
#include
#include
main()
{
inti=33;
while(i<=127)
{
printf("%c",i);
i++;
}
getch();
}
004用do-while,for循环结构编写程序打印ASCII码为33-127的字符。
#include
#include
main()
{
inti=33;
do
{
printf("%c",i);
i++;
}while(i<=127);
getch();
}
006.在1-500中,找出能同时满足用3除余2,用5除余3,用7除余4的所有整数,用循环结构。
#include
#include
main()
{
inti;
for(i=1;i<=500;i++)
{
if(i%3==2&&i%5==3&&i%7==5)
printf("%d\n",i);
}
getch();
}
007.输入一个整数将其倒着输出,如54321——12345。
(方法一)
#include
#include
#include
main()
{
chara[100];
intlen,i;
printf("请输入一个整数:
\n");
scanf("%s",a);
len=strlen(a);
for(i=len-1;i>=0;i--)
printf("%c",a[i]);
getch();
}
007(方法二)
#include
#include
main()
{
intnum,t;
printf("请输入一个整数:
\n");
scanf("%d",&num);
while(num>0)
{
t=num%10;
num=num/10;
printf("%d",t);
}
getch();
}
008.计算s=1+1/3+1/5+…+1/n,截止到1/n<10-4。
#include
#include
main()
{
intn;
floatt=1,s=0;
for(n=1;t>0.0001;n+=2)
{
t=(float)1/n;
s=s+t;
}
printf("s=%f",s);
getch();
}
009.从键盘输入一整数n,计算1*1+2*2+...+n*n的值。
#include
#include
main()
{
intn,i,s=0;
printf("请输入一个整数:
\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
s=s+i*i;
printf("%d",s);
getch();
}
010.用while循环计算1+2+……+100的和。
#include
#include
main()
{
ints=0,i=1;
while(i<=100)
{
s=s+i;
i++;
}
printf("%d",s);
getch();
}
11. 用dowhile循环计算1+2+……+100的和
#include
main()
{
inti,result;
i=1;result=0;
while(i<=100)
{
result=i+result;
i++;
}
printf("1+2+...+100=%d",result);
while
(1);
}
12.用for循环计算1+2+……+100的和。
#include
main()
{
inti,result;
for(i=1,result=0;i<=100;i++)
{
result=i+result;
}
printf("1+2+...+100=%d",result);
while
(1);
}
13.输入一个小于等于10的整数n,计算n!
。
#include
longfac(intn)
{
longresult;
if(n==0||n==1){result=1;}
else{result=n*fac(n-1);}
returnresult;
}
main()
{
intn;longresult;
printf("请输入一个小于等于10的整数\n");
scanf("%d",&n);
if(n>=0&&n<=10)
{
result=fac(n);
printf("%d!
=%ld",n,result);
}
elseprintf("输入数据错误");
while
(1);
}
14.输入两个正整数m和n,计算m!
+n!
,m和n的值均小于10。
#include
longfac(intn)
{
longresult;
if(n==0||n==1){result=1;}
else{result=n*fac(n-1);}
returnresult;
}
main()
{
intn,m;longresult;
printf("请输入两个小于等于10的整数\n");
scanf("%d%d",&n,&m);
if(n>=0&&n<=10&&m>=0&&n<=10)
{
result=fac(n)+fac(m);
printf("%d!
+%d!
=%ld",n,m,result);
}
elseprintf("输入数据错误");
while
(1);
}
15.用循环语句,计算1~100之间的所有3的倍数之和。
#include
main()
{
inti,result;
for(i=1,result=0;i<=100;i++)
{
if(i%3==0)
result=result+i;
}
printf("1~100之间的所有3的倍数之和为%d",result);
while
(1);
}
16.用循环语句,计算100-200之间的所有7的倍数之和。
#include
main()
{
inti,result;
for(i=100,result=0;i<=200;i++)
{
if(i%7==0)
result=result+i;
}
printf("100-200之间的所有7的倍数之和为%d",result);
while
(1);
}
17.输出1-100之间,7的整数倍数或数字尾数为7的数字,统计出这些数字个数。
#include
main()
{
inti,num;
for(i=1,num=0;i<=100;i++)
{
if(i%7==0||i%10==7)
num++;
}
printf("1-100之间,7的整数倍数或数字尾数为7的数字个数为%d",num);
while
(1);
}
18.输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。
#include
intmain()
{
inti=0,space=0,num=0,n=0,ch=0;
chars[1000000];
printf("请输入一串字符");
gets(s);
while(s[i]!
='\0')
{
if(s[i]=='')
space++;
elseif(s[i]<='9'&&s[i]>='0')
num++;
elseif(s[i]<='z'&&s[i]>='a'||s[i]<='Z'&&s[i]>='A')
ch++;
else
n++;
i++;
}
printf("刚才输入的字符中英文字符个数为%d\n",ch);
printf("刚才输入的字符中空格个数为%d\n",space);
printf("刚才输入的字符中数字个数为%d\n",num);
printf("刚才输入的字符中其他个数为%d\n",n);
while
(1);
}
19.输入一个整数,统计它有几位数。
如输入367,则该数有3位数。
#include
main()
{
intn,i,j;
i=1;j=0;
printf("请输入一个整数\n");
scanf("%d",&n);
if(n==0)printf("这个数是1位数",j);
else{
while(n>=i)
{
i=10*i;
j=j+1;
}
printf("这个数是%d位数",j);
}
while
(1);
}
20.编写程序,输出1到50中间所有能被3整除的正整数。
#include
main()
{
printf("1到50中间所有能被3整除的正整数如下\n");
intn;
for(n=1;n<=50;n++)
{
if(n%3==0)
printf("%d\t",n);
}
while
(1);
}
21.把100~200之间不能被3整除的输出。
#include
main()
{
printf("100~200之间不能被3整除的正整数如下\n");
intn;
for(n=100;n<=200;n++)
{
if(n%3!
=0)
printf("%d\t",n);
}
while
(1);
}
22.编程Y=1+3+5+7+...111。
#include
main()
{
printf("Y=");
intn,result;
for(n=1,result=0;n<=111;n=n+2)
{
printf("%d+",n);
result=result+n;
}
printf("=%d\n",result);
while
(1);
}
23.编程y=1*1/2*1/3*1/4*1/5*1/6*...前十项之积。
#include
#include
main()
{
inti;
longinty;
y=1;
for(i=1;i<=10;i++)
{
y=y*i;
}
printf("y=1/%ld",y);
getch();
}
24.编程输出九九乘法表。
#include
#include
main()
{
inti,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
printf("%d*%d=%d\t",j,i,i*j);
printf("\n");
}
getch();
}
25.求1到100奇数和。
#include
#include
main()
{
inti=0,n;
for(n=1;(2*n-1)<100;n++)
i=i+(2*n-1);
printf("1到100以内的奇数之和为:
%d\n",i);
getch();
}
26.求1到100偶数和。
#include
#include
main()
{
inti,s;
s=0;
for(i=2;i<=100;i=i+2)
s=s+i;
printf("1到100的偶数和是:
");
printf("s=%d\n",s);
getch();
}
27.编程求200以内所有质数(素数)。
#include
#include
#include
intisprime(intm)
{inti;
for(i=2;i<=sqrt(m);i++)
if(m%i==0)
{return0;break;}
if(i>=(int)sqrt(m)+1)
return1;
}
main()
{intn,flag;
for(n=1;n<=200;n++)
{
flag=isprime(n);
if(flag)
printf("%d\t",n);}
getch();
}
28.从键盘输入一个整数,求该数的绝对值。
#include
#include
main()
{
floata,t;
printf("Pleaseinputthevalue\t");
scanf("%f",&a);
if(a<0)
t=-a;
else
t=a;
printf("Theabsolutevalueis:
\t%f",t);
getch();
}
29.从键盘输入+、-、*、/中的任一个,输出对应的英文单词:
plus、minus、mutiply、divide,如输入的不是这4个字符中的任一个,则输出“sorry,youarewrong”。
#include
#include
main()
{
charch;
ch=getchar();
if(ch=='+')
printf("plus\n");
elseif(ch=='-')
printf("minus\n");
elseif(ch=='*')
printf("multiply\n");
elseif(ch=='/')
printf("divide\n");
else
printf("youarewrong");
system("pause");
}
30.从键盘输入一个字符,判断其是否为a,r,或f,并输出相应的信息(不区分大小写)。
#include
#include
main()
{
charn1='a',n2='r',n3='f',n4;
charm1='A',m2='R',m3='F';
printf("请输入一个字符:
");
scanf("%c",&n4);
if(n4==n1||n4==m1)
{printf("youareright!
\n");
printf("n4=%c\n",n4);
}
elseif(n4==n2||n4==m2)
{printf("youareright!
\n");
printf("n4=%c\n",n4);
}
elseif(n4==n3||n4==m3)
{printf("youareright!
\n");
printf("n4=%c\n",n4);
}
else
printf("youputintoawrongchar!
\n");
getch();
}
31.求解一元二次方程ax2+bx+c=0的跟(a不等于0),a,b,c均为实数,其值由键盘输入。
#include
#include
#include
main()
{
doublea,b,c;
doubles,x1,x2;
printf("pleaseentera,b,c:
\n");
scanf("%lf%lf%lf",&a,&b,&c);
if(a>=-(1e-6)&&a<=(1e-6))
printf("sorry!
youhaveawrongnumbera.\n");
else
{
s=b*b-4*a*c;
if(s>(1e-6))
{
x1=(-b+sqrt(s))/(2*a);
x2=(-b-sqrt(s))/(2*a);
printf("therearetwodifferentreal:
\nx1=%5.2f,x2=%5.2f\n",x1,x2);}
else
if(s>=-(1e-6)&&s<=(1e-6))
{
x1=x2=-b/(2*a);
printf("therearetwoequalreal:
\nx1=x2=%5.2f\n",x1);
}
else
{
s=-s;
x1=-b/(2*a);
x2=fabs(sqrt(s)/(2*a));
printf("therearetwodifferentcomplex:
\n");
printf("x1=%5.2f+%5.2fi,x2=%5.2f-%5.2fi\n",x1,x2,x1,x2);
}
}
getch();
}
32.编一程序,对于给定的一个百分制成绩,输出用像'A','B','C','D','E'表示的等级成绩。
设:
90分以上为'A',80~89分为'B',70~79分为'C',60~69分'D',60分以下为'E'。
(要求用switch语句编程)。
#include
#include
main()
{
intscore,temp,logic;
chargrade;
logic=1;
while(logic)
{
printf("inputscore:
\n");
scanf("%d",&score);
if((score>100)||(score<0))
printf("\nerror,inputagain!
\n");
else
logic=0;
printf("\n");
}
if(score==100)
temp=9;
else
temp=(score-score%10)/10;
switch(temp)
{
case9:
grade='A';break;
case8:
grade='B';break;
case7:
grade='C';break;
case6:
grade='d';break;
case5:
case4:
case3:
case2:
case1:
case0:
grade='e';break;
}
printf("scoreis:
%d,thegradeis:
%c.\n",score,grade);
system("pause");
}
33.输入一个整数,判断它能否被3,5,7整除。
#include
#include
main()
{
intx;
printf("Pleaseenterx:
");
if((x%3==0)&&(x%5==0)&&(x%7==0))
printf("%d能被3,5,7整除",x);
else
printf("%d不能被3,5,7整除",x);
getch();
}
34.用整数1~12依次表示1~12月,由键盘输入一个月份数,输出对应的季节英文名称(12~2月为冬季;3~5月为春季;6~8月为夏季;9~11月为秋季。
要求用if嵌套实现)。
#include
#include
main()
{
intmonth,i;
loop:
printf("enteraninteger(1~12):
\n");
scanf("%d",&month);
if(month<1||>12)
gotoloop;
r=month%12;
r=r/3;
if(r==0)
printf("winter\n");
elseif(r==1)
printf("spring\n");
elseif(r==2)
printf("summer\n");
else
printf("autumn\n");
getch();
}
35.编写输入整数a,b,c,当a为1时显示b和c之和,a为2时显示b与c之差,a为3时显示b*c之积,a为4时取b/c之商,a为其他数值时不做任何操作的程序。
#include
#include
main()
{
inta,b,c;
printf("pleaseentera,b,c:
\n");
scanf("%d%d%d",&a,&b,&c);
switch(a)
{
case1:
printf("%d+%d=%d\n",b,c,b+c);
break;
case2:
printf("%d-%d=%d\n",b,c,b-c);
break;
case3:
printf("%d*%d=%d\n",b,c,b*C);
break;
case4:
printf("%d/%d=%d\n",b,c,b/c);
break;
default:
break;
}
getch();
}
36.编写输入一个整数,将其数值按小于10,10~99,100~9