C语言期末考试编程题

1输入两个整数a和b,若a和b的平方和大于100,则输出平方和的百位以上的数字,否则输出a和 b的和。
要求: 1)输出结果时说明平方和是大于100还是小于100( >100或<100 )

2输入一个整数,判断是否是5和7的公倍数,若是则输出:5and7yes,否则再判断是否是3的倍数,若是3的倍数输出:3yes,若都不是则输出:no

3 输入一个整数,判断是否是3和5的公倍数,若是则输出:3&5yes,否则再判断是否是7的倍数,若是7的倍数输出:7yes,若都不是输出:no

4输入一个整数,判断是否是2和3的公倍数,若是则输出:2&3yes,否则再判断是否是7的倍数,若是7的倍数输出:7yes,若都不是输出:no

5计算公式: [ 2*x x=2
y=[ x*x+1 x<2
[ 2*x*x+3*x+1 x>2
要求: 1)从键盘输入x的值,根据x的值求y的值
2)输出y的值

6 计算公式: [ 1 x=1
y=[ x*x x<1
[ x*x*x x>1
要求: 1)从键盘输入x的值,根据x的值求y的值
2)输出y的值

7计算公式: [ x+1 x<0
y=[ x*x+2 0<=x<=2
[ x*x*x+3 x>2
要求: 1)从键盘输入x的值,根据x的值求y的值
2)输出y的值

8计算公式 [ x x<1
y=[ 2*x-1 1<=x<=10
[ 3*x-11 x>10
要求: 1)从键盘输入x的值,根据x的值求y的值
2)输出y的值

9输入一个分数,输出成绩的等级,若分数>=90,等级为A,若分数介于80和89之间,等级为B;若分数介于70和79之间等级为C,分数介于60和69之间等级为D,60以下的分数等级为E
要求: 1)从键盘输入分数,输出成绩的等级

10某个商店有一种商品出售,如买10件以下(含10件),每件价格是60元,如买11~39件,每件价格50元,如买40件以上,每件价格45元。
要求: 1)从键盘输入要买的商品的件数,输出总金额。

11判断两个整数a和b,若a是b的倍数,则输出它们平方和,若b是a的倍数则输出它们的立方和,若以上都不是,则输出a与b差的绝对值。
要求: 1)从键盘输入a和b的值,根据判断输出结果。

12判断两个浮点数a和b,若a比b大,则输出a-b的绝对值,若a比b小,则输出a和b的乘积,若a和b相等,则输出a的个位数和b的个位数的乘积。
要求: 1)从键盘输入a和b的值,根据判断输出结果。

13求解一元二次方程,a*x*x+b*x+c=0
当a=0,不是二次方程,直接给出一元方程的解
当b*b-4*a*c>0 方程有两个不同的实数解
当b*b-4*a*c=0 方程有两个相同的实数解
要求: 1)从键盘输入a,b,c的值,给出方程的实数解
2)提示,可以使用万能求根公式

14输入一个整数,判断它是否是水仙花数,(水仙花数的个位、十位、百位三个数的立方和等于这个数本身)
要求: 1)从键盘输入整数,先判断用户输入的是不是3位数;
2)若用户输入的是3位数再判断它是不是水仙花数。

15从用户输入的一位整数判断是星期几(monday,tuesday,wednesday,thursday,friday,saturday,sunday)比如输入1,输出monday,如输入7,输出sunday。
要求: 1)首先判断用户输入的是不是1~7之间的数,若是则输出星期几
2)若用户输入的不是1~7之间的数,输出error data

16有一分数序列:1/1,1/3,1/5,1/7,...,1/(2n-1)
要求: 1)用户从键盘输入n的值
2)输出此数列前n项之和

第1个回答  2010-06-22
1输入两个整数a和b,若a和b的平方和大于100,则输出平方和的百位以上的数字,否则输出a和 b的和。
要求: 1)输出结果时说明平方和是大于100还是小于100( >100或<100 )
#include<stdio.h>
int main(){
int a, b, c;
scanf("%d%d", &a, &b);
c = a * a + b * b;
if(c > 100) printf("平方和大于100\n%d\n", c%100);
else printf("平方和小于等于100\n%d\n", a + b);
return 0;
}
2输入一个整数,判断是否是5和7的公倍数,若是则输出:5and7yes,否则再判断是否是3的倍数,若是3的倍数输出:3yes,若都不是则输出:no
#include<stdio.h>
int main(){
int input;
scanf("%d", &input);
if(input % 5 == 0 && input % 7 == 0)printf("5and7yes\n");
else if(input % 3 == 0) printf("3yes\n");
else printf("no\n");
return 0;
}
第三,四题和第二题差不多
5计算公式: [ 2*x x=2
y= [ x*x+1 x<2
[ 2*x*x+3*x+1 x>2
要求: 1)从键盘输入x的值,根据x的值求y的值
2)输出y的值
#include<stdio.h>
int main(){
int x, y;
scanf("%d", &x);
if(x == 2) y = 2*x;
else if(x < 2) y = x*x+1;
else y = 2 * x * x + 3 * x + 1;
printf("%d\n", y);
return 0;
}
8 和7差不多
下面原理都差不多 用if基本都能搞定 判断条件就行了 应该LZ能搞定了 东西有点多 -。- 就写这些吧 其他的就不一一写了^ ^
第2个回答  2010-06-30
1、
#include <stdio.h>
main()
{
int a, b, square;
scanf (“%d%d”, &a, &b);
square = a * a + b * b;
if (square > 100) \*判断a、b的平方和是否大于100 *、
{
printf (“their square is bigger than 100\n”);
printf (“the digitale bigger than 100 is :%d”, square / 100);
}
else
{
printf (“their square is smaller than 100\n”);
printf (“their addtion is: %d”, a + b);
}
}
2、
#include <stdio.h>
main()
{
int n;
if ((n % 5 == 0) && (n % 7 == 0)) \* 判断n是否为5和7的公倍数 *\
{
printf (“5 and 7 yes”);
}
else
{
if (n % 3 == 0) \* 判断是否能被3整除 *\
printf (“ 3 yes”);
else
printf (“no”);
}
}
3、(3题和平共处题与第2题相似的,只要把条件改一下就可以了)
#include <stdio.h>
main()
{
int n;
if ((n % 3 == 0) && (n % 5 == 0))
{
printf (“3 and 5 yes”);
}
else
{
if (n % 7 == 0)
printf (“ 7 yes”);
else
printf (“no”);
}
}
4、
#include <stdio.h>
main()
{
int n;
if ((n % 2 == 0) && (n % 3 == 0))
{
printf (“2&3 yes”);
}
else
{
if (n % 7 == 0)
printf (“ 3 yes”);
else
printf (“no”);
}
}
5、
#include <stdio.h>
main()
{
int x, y;

printf ("x =");
scanf ("%d", &x);
if (x == 2) \* 用一个多分支语句将几种情况分开计算*\
y = 2 * x;
else if (x < 2)
y = x * x + 1;
else
y = 2 * x * x + 3 * x + 1;
printf ("y = %d", y);
}

6、(6 题和7题还有8题都与5题相似)
#include <stdio.h>
main()
{
int x, y;

printf ("x =");
scanf ("%d", &x);
if (x == 1)
y = 1;
else if (x < 1)
y = x * x;
else
y = x * x * x;
printf ("y = %d", y);
}

7、
#include <stdio.h>
main()
{
int x, y;

printf ("x =");
scanf ("%d", &x);
if (x < 0)
y = x + 1;
else if (x <= 2)
y = x * x + 2;
else
y = x * x * x + 3;
printf ("y = %d", y);
}
8、
#include <stdio.h>
main()
{
int x, y;

printf ("x =");
scanf ("%d", &x);
if (x < 1)
y = x;
else if (x <= 10)
y =2 * x - 1;
else
y = 3 * x - 11;
printf ("y = %d", y);
}
9、
#include <stdio.h>
main()
{
float score;
char grade;

printf ("please enter the score:");
scanf ("%f", &score);
if (score > 100 || score < 0) \*判断成绩是否输入正确*\
{
printf ("enter error!");
}
if (score >= 90)
grade = 'A';
else if (score >= 80)
\*在这里的else if 语句条件中已经排除了在于等于90的情况,即此处等同于"score >= 80 && score < 90"*\
grade = 'B';
else if (score >= 70)
grade = 'C';
else if (score >= 60)
grade = 'D';
else
grade = 'E';
printf ("the grade is :%c", grade);
}
10、
#include <stdio.h>
main()
{
int n, price;

printf ("please enter quantity:");
scanf ("%d", &n);
if (n <= 10)
price = 60;
else if (n < 40) \* 此处方法与上题相同*\
price = 50;
else
price = 45;
printf ("the total money is :%d", price * n);
}
11、
#include <stdio.h>
#include <math.h>
main()
{
int a, b,final;

printf ("enter a,b:");
scanf ("%d%d", &a, &b);
if (a % b == 0)
final = a * a + b * b;
else if ( b % a == 0)
final = a * a * a + b * b * b;
else
final = abs(a - b);
printf ("final = %d", final);
}
12、
#include <stdio.h>
#include <math.h>
main()
{
float a, b, f;

printf ("enter a,b:");
scanf ("%f%f", &a, &b);
if (a > b)
f = fabs(a - b);
else if (a < b)
f = a * b;
else
f = ((int)a % 10) * ((int)b % 10); \*用强制转换将a、b转换成整数再除10求余即得个位数字*\
printf ("f = %.2f", f);
}

13、
#include <stdio.h>
#include <math.h>
main()
{
int a, b, c, disc;
int x1, x2,x;

printf ("a,b,c=");
scanf ("%d%d%d", &a, &b, &c);

if (a == 0)
{
printf ("this is not a equation");
}
else
{
disc = b * b - 4 * a * c;
if ( disc > 0)
{
x1 = (- b + sqrt(disc)) / (2 * a);
x2 = - b - sqrt(disc) / (2 * a);
printf ("there are two deferent root:%d %d", x1, x2);
}
else
{
x = - b / ( 2 * a);
printf ("there are two same root:%d", x);
}
}
}
14、
#include <stdio.h>
main()
{
int n;
int n1, n2, n3;

printf ("please enter a number:");
scanf ("%d", &n);
if (n >= 100 && n <= 999)
{
n1 = n / 10;\*取出n的个、十、百各位数*\
n2 = (n - n1* 10) / 10;
n3 = n % 10;
if (n1 * n1 * n1 + n2 * n2 * n2 + n3 * n3 * n3 == n)\* 判断个、十、百位平方和是否等于n *\
printf ("the number is shuixianhua digitale");
else
printf ("the number is not shuixianhua digitale");
}
else
printf ("the number is not a 3 bit number");
}
15、
#include <stdio.h>
main()
{
enum workday {monday = 1, tuesday, wednesday, thursday, friday, saturday, sunday};
enum workday workdays;
int n;

printf ("please enter a days:");
scanf ("%1d", &n);
if (n >= 1 && n <= 7)
{
workdays = (enum workday)n;
switch(workdays)
{
case 1: printf ("moday"); break;
case 2: printf ("tuesday"); break;
case 3: printf ("wednesday"); break;
case 4: printf ("thursday"); break;
case 5: printf ("friday"); break;
case 6: printf ("saturday"); break;
case 7: printf ("sunday"); break;
}
}
else
printf ("enter error");
}


16、
#include <stdio.h>
main()
{
int i, n;
float t, s = 0; \* 用t 产生各项,s 为各项之和 *\
printf ("n = ");
scanf ("%d", &n);
for (i = 1; i <= n; i++)
{
t = 1.0 / n; \* 因为n 是整数,在1后面加小数使得结果不至于为零*\
s = s + t;
n = n + 2;
}
printf ("the addtion is :%f", s);
}
本回答被网友采纳
第3个回答  2010-06-24
这么简单的程序自己怎么不写啊,这是多么基础的啊!
第4个回答  2010-06-22
30分就帮你编16个程序!?你在做梦吧?!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网