如果你已经学完了判断、循环还未学习数组、指针等相关语法时,下面的试题适合你做阶段测试,如果可以做出其中的7道以上就可以认为阶段性的学习已经合格了,可以继续学习更复杂的语法了。在我的博客中有相应的讲解和答案,希望读者可以借鉴并提出宝贵的修改意见。
1.信息打印
要求:
(1)
定义3个int型变量存工人工号,定义3个char变量,存工人性别,定义3个float变量,存工人工资。
(2)
要求用户可以依次输入工号(一个5位数),性别(‘M’代表男,‘F’代表女),工资。
(3) 连续输入3组数据
(4)
输入结束后,程序输出相应的信息如下:
编号 工号 性别 工资
1 10000
男 1000.00
2 10001 女 1100.00
3
10002 男 1500.00
2.计算矩形的周长和面积
要求:
(1)
在提示下,用户输入矩形的长和宽。
(2) 输出矩形的周长和面积。
(3)
涉及的所有数据均为double类型
3.计算器
要求:
(1) 在提示下,用户先输入运算符号。
(2)
在提示下,用户分别输入两个数(double类型)。
(3)
根据用户的输入,计算出相应的结果,并显示到屏幕上,结果保留3位小数。
4.打印图形
要求:
(1)
打印以下图形
*
**
***
****
*****
(2)
打印以下图形
*******
*****
***
*
5.公式计算
要求:
(1) 根据公式f(n) = 1
+ 1/2 + 1/3 + ...... + 1/n。(n > 0)
(2) 用户指定任意的n,均可以计算出结果。
(3)
用户如果输入非法,程序可以给出提示。
6.请用户输入一个数字如果此数字在1-127之间的话,打印此数字ASCII码对应的字符,如果不在1-127之间的话,打印“输入数据不在1-127之间,是不可显示字符!!!”。
7.请实现如下功能:请用户输入1-12之间的一个数,表示一年中的12个月,如果用户输入的数在2-4的话,打印“春天”,输入的数在5-7的话,打印“夏天”,输入的数在8-10的话打印“秋天”,输入的数是11、12或1的话,打印“冬天”。(请使用switch语句实现)
8.编程打印出100-999间所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。例如:153是一个水仙花,因为153=13+53+33
参考程序:
1.信息打印
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int codeA = 0;
int codeB = 0;
int
codeC = 0;
char genderA;
char genderB;
char genderC;
float salaryA = 0;
float salaryB = 0;
float salaryC =
0;
printf("请输入工号:");
scanf("%d", &codeA);
fflush(stdin);
printf("请输入性别:");
scanf("%c", &genderA);
printf("请输入工资:");
scanf("%f", &salaryA);
printf("请输入工号:");
scanf("%d", &codeB);
fflush(stdin);
printf("请输入性别:");
scanf("%c", &genderB);
printf("请输入工资:");
scanf("%f", &salaryB);
printf("请输入工号:");
scanf("%d", &codeC);
fflush(stdin);
printf("请输入性别:");
scanf("%c", &genderC);
printf("请输入工资:");
scanf("%f", &salaryC);
printf("\n编号 工号 性别 工资\n");
printf(" 1 %d %c
%0.2f\n", codeA, genderA, salaryA);
printf(" 2 %d %c
%0.2f\n", codeB, genderB, salaryB);
printf(" 3 %d %c
%0.2f\n", codeC, genderC, salaryC);
system("pause");
return
0;
}
2.计算矩形的周长和面积
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
double lenth = 0;
double width =
0;
printf("请输入矩形的长和宽,用逗号隔开:");
scanf("%lf,%lf", &lenth,
&width);
printf("矩形的周长为:%lf\n", 2 * (lenth + width));
printf("矩形的面积为:%lf\n", lenth * width);
system("pause");
return 0;
}
3.计算器
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
double num1 = 0;
double num2 = 0;
double
result = 0;
char opr;
printf("Please input operator:(+ - * /)");
scanf("%c",
&opr);
printf("Please input first number:");
scanf("%lf",
&num1);
printf("Please input secode number:");
scanf("%lf",
&num2);
switch(opr)
{
case '+': result = num1 + num2; break;
case '-':
result = num1 - num2; break;
case '*': result = num1 * num2; break;
case
'/': result = num1 / num2; break;
default: printf("Operator
error!\n");
}
printf("\n%lf %c %lf = %0.3lf\n\n", num1, opr, num2,
result);
system("pause");
return 0;
}
4.打印图形
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i = 0;
int k = 0;
//图案一
for(i = 0 ; i < 5 ; i++)
{
for(k = 0 ; k <=
i ; k++)
{
printf("*");
}
printf("\n");
}
//隔开两个图案
printf("\n\n");
//图案二
for(i = 0 ; i < 4 ; i++)
{
for(k = 0 ; k < 7 - i * 2 ; k++)
{
printf("*");
}
printf("\n");
}
system("pause");
return 0;
}
5.公式计算
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int n = 0;
int i = 0;
double result
= 0;
printf("请输入n的值:");
scanf("%d", &n);
for(i =
1 ; i <= n ; i++)
{
//这里必须使用1.0不能使用1
result =
result + 1.0 / i;
}
printf("结果为:%lf\n", result);
system("pause");
return 0;
}
6.请用户输入一个数字如果此数字在1-127之间的话,打印此数字ASCII码对应的字符,如果不在1-127之间的话,打印“输入数据不在1-127之间,是不可显示字符!!!”。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int ch = 0;
printf("请输入一个数:");
scanf("%d", &ch);
if(ch > 127 || ch <
1)
{
printf("输入数据不在1-127之间,是不可显示字符!!!\n");
}
else
{
printf("%c\n", ch);
}
system("pause");
return 0;
}
7.请实现如下功能:请用户输入1-12之间的一个数,表示一年中的12个月,如果用户输入的数在2-4的话,打印“春天”,输入的数在5-7的话,打印“夏天”,输入的数在8-10的话打印“秋天”,输入的数是11、12或1的话,打印“冬天”。(请使用switch语句实现)
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int month = 0;
printf("请输入一个月份:");
scanf("%d", &month);
switch(month)
{
case 2:
case 3:
case 4: printf("春天\n");
break;
case 5:
case 6:
case 7: printf("夏天\n");
break;
case 8:
case 9:
case 10:printf("秋天\n");
break;
case 11:
case 12:
case 1: printf("冬天\n");
break;
default: printf("输入错误\n");
}
system("pause");
return 0;
}
8.编程打印出100-999间所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。例如:153是一个水仙花,因为153=13+53+33
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a = 0; //存储个位
int b = 0;
//存储十位
int c = 0; //存储百位
for(int i = 100 ; i < 1000
; i++)
{
a = i % 10; //获得个位上的数
b = i / 10 %
10; //获得十位上的数
c = i / 100; //获得百位上的数
if(a *
a * a + b * b * b + c * c * c == i)
{
printf("%d是水仙花数\n", i);
}
}
system("pause");
return 0;
}