《C语言程序设计题集》
(-)关于顺序结构、选择结构、循环结构的程序
【程序1】
编写程序,将10000秒转换成以“XX时XX分XX秒”格式输出。
#include
int main()
{int h, m, s, a;
a=10000;
h=10000/3600;
nF (10000-h*3600)/60;
s二10000-h*3600-m*60;
printf ("%d 时,%d 分,%d 秒〃,h, m, s);
return 0;
}
【程序2】
输入1个字母,如果它是小写字母,则首先将其转换成大写字母,再输出该字母的前序字母、 该字母、该字母的后序字母,例如:输入g,则输出FGH;输入a,则输出ZAB;输入M,则 输出LMN;输入Z,则输出YZA。
#include
int main()
{char cl, c2, c3;
scanf ("%c", &cl);
if(cl>=97&&cl<=122)
cl二cl-32;
c2=cl-l;
c3=cl+l;
if(cl==65)
c2=90;
if(cl==90)
c3=65;
printf ("%c%c%c", c2, cl, c3);
return 0;
}
【程序3】
输入简单表达式实现一次加、减、乘、除四则运算。例如输入1+5或3*6,计算结果。
#include
int main()
{float a, b, x;
char c;
scanf ("%f%c%f", &a, &c, &b);
switch (c)
{case"+':x=a+b;break;
case,:x=a~b;break;
case,*' :x二a*b;break;
case'/' : if(b==0)printf(“ivisoris zcro\nz,);
else x=a/b;break;
}
printf ("%f", x);
return 0;
}
【程序4】
输入十个整数,求其中的最大数、最小数及平均数。
#includc
int main()
{int a, i, max, min;
float ave; scanf (〃%d〃,&a);
max=min=a;
avc=a;
for(i=l;i<=9;i++)
{scanf("%d〃, &a);
avc=avc+a;
if (a>max)
max=a;
else if (a
min=a;
}
ave=ave/10. 0;
printf Czmax=%d\nniin=%d\navc=%f\nzz, max, min, ave);
return 0;
}
【程序5】
题目:编写程序,求解一元二次方程ax24-bx-f-c=0的根,要求考虑沪0,及方程有实数根与复数 根的情况。
#include
#includeGnath. h>
int main()
!
double a, b, c, disc, xl, x2, p, q;
scanf (〃%lf%lf%lf〃,&a, &b, &c);
if(a==0)
{xl=x2=-c/b;
printf("real roots:\nxl=%7. 2f\nx2=%7. 2f\n〃,xl, x2);
}
else
{
disc=b*b-4*a*c;
if (disc<0)
printf ("This equation has n't real roots\n,z);
else
{p二-b/ (2. 0*a);
q=sqrt (disc)/(2. 0*a);
xl二p+q;
x2二p-q;
printf (z,real roots: \nxl=%7. 2f\nx2=%7. 2f\n〃, xl, x2);
I
i
return 0;
}
【程序6】
题目:输入任意学生的百分制成绩,要求输出成绩等级'A'、'B'、'D'、'E': 90分以 上为'A', 80-89 分为'B', 70-79F 分为'C', 60-69 分为'D', 60 分以下为'E'。
#include
int main()
int x;
scanf (〃%d〃,&x);
printf ("Your score:,z);
if(x> 二 90&&xU100)
printf (' A');
else if(x>=80&&x<=89)
printf (' B');
else if(x>=70&&x<=79)
printf (' C');
else if(x>二60&&x〈二69)
printf (' D');
else printf (' E');
return 0;
}
【程序7】
题目:输入一行字符,分别统计其