c语言基础题(二)(上)

简介: c语言基础题(二)

目录

1 计算符号函数的值

2 算术入门之加减乘除

3 谁是赢家

4 计算天数

5 成绩转换

1 计算符号函数的值

对于任一整数n,符号函数sign(n)的定义如下:

image.png

请编写程序计算该函数对任一输入整数的值。

 
         

输入格式

输入在一行中给出整数n。

输入格式

在一行中按照格式“sign(n) = 函数值”输出该整数n对应的函数值。

输入样例1:

10

结尾无空行

输出样例1:

sign(10) = 1

结尾无空行

输入样例2:

0

输出样例2:

sign(0) = 0

 输入样例3:

-98

输出样例3:

sign(-98) = -1

答案:

#include<stdio.h>
int main()
{
int x=0;
int n=0;
scanf("%d",&x);
if(x<0)
{
n=-1;
}
else if(x==0)
{
n=0;
}
else
{
n=1;
}
printf("sign(%d) = %d",x,n);
return 0;
}

2 算术入门之加减乘除

对于输入的两个整数,按照要求输出其和差积商。

输入格式:

在一行内输入两个不超过100的非负整数a和b,中间以一个空格间隔,且保证b不为0。

输出格式:

共四行,格式是:

[a] + [b] = [a+b]
[a] - [b] = [a-b]
[a] * [b] = [a*b]
[a] / [b] = [a/b]

其中,带有方括号的内容(如[a][b][a+b]等)表示相应整数或运算结果的值,在输出时要用实际的值代替。

并且:如果a能够被b整除,那么a/b应输出为整数格式,否则a/b输出为带两位小数的格式。

提示:注意表达式中的空格。

输入样例1:

6 3

结尾无空行

输出样例1:

6 + 3 = 9
6 - 3 = 3
6 * 3 = 18
6 / 3 = 2

结尾无空行

输入样例2:

8 6

输出样例2:

8 + 6 = 14
8 - 6 = 2
8 * 6 = 48
8 / 6 = 1.33

答案:

#include<stdio.h>
int main()
{
  int a, b;
  float c;
  scanf("%d %d", &a, &b);
  c = a + b;
  printf("%d + %d = %.0f\n", a, b, c);
  c = a - b;
  printf("%d - %d = %.0f\n", a, b, c);
  c = a * b;
  printf("%d * %d = %.0f\n", a, b, c);
  c = a / b;
  if (a%b!=0)
  {
    printf("%d / %d = %0.2f", a, b, c);
  }
  else
    printf("%d / %d = %0.0f", a, b, c);
}

3 谁是赢家

某电视台的娱乐节目有个表演评审环节,每次安排两位艺人表演,他们的胜负由观众投票和 3 名评委投票两部分共同决定。规则为:如果一位艺人的观众票数高,且得到至少 1 名评委的认可,该艺人就胜出;或艺人的观众票数低,但得到全部评委的认可,也可以胜出。节目保证投票的观众人数为奇数,所以不存在平票的情况。本题就请你用程序判断谁是赢家。

输入格式:

输入第一行给出 2 个不超过 1000 的正整数 Pa 和 Pb,分别是艺人 a 和艺人 b 得到的观众票数。题目保证这两个数字不相等。随后第二行给出 3 名评委的投票结果。数字 0 代表投票给 a,数字 1 代表投票给 b,其间以一个空格分隔。

输出格式:

按以下格式输出赢家:

The winner is x: P1 + P2

其中 x 是代表赢家的字母,P1 是赢家得到的观众票数,P2 是赢家得到的评委票数。

输入样例:

327 129
1 0 1

结尾无空行

输出样例:

The winner is a: 327 + 1

结尾无空行

答案:

#include<stdio.h>
int main()
{
int pa,pb;
int a,b,c,d,e;
scanf("%d %d\n",&pa,&pb);
scanf("%d %d %d",&a,&b,&c);
d=a+b+c;
e=3-d;
if(pa>pb&&e!=0)
{
printf("The winner is a: %d + %d",pa,e);
}
else if(pa<pb&&d!=0)
{
printf("The winner is b: %d + %d",pb,d);
}
else if(pa<pb&&e==3)
printf("The winner is a: %d + %d",pa,e);
else
printf("The winner is b: %d + %d",pb,d);
return 0;
}
相关文章
|
算法 C语言
C语言算法基础-在一个单链表中值为y的结点前面插入一个值为x的结点
题目:3.4设计一个算法,在一个单链表中值为y的结点前面插入一个值为x的结点。即使值为x的新结点成为值为y的结点的前驱结点。 题目来自李云清版《数据结构》
318 5
C语言算法基础-在一个单链表中值为y的结点前面插入一个值为x的结点
|
C语言
【C语言学习者必会的题目集锦1】巩固基础,稳步提高
【C语言学习者必会的题目集锦1】巩固基础,稳步提高
107 0
【C语言学习者必会的题目集锦1】巩固基础,稳步提高
|
C语言
[C语言学习]C语言程序设计基础(三)
[C语言学习]C语言程序设计基础(三)
160 0
[C语言学习]C语言程序设计基础(三)
|
Linux C语言 iOS开发
[C语言学习]C语言程序设计基础(二)
[C语言学习]C语言程序设计基础(二)
175 0
[C语言学习]C语言程序设计基础(二)
|
存储 程序员 C语言
[C语言学习]C语言程序设计基础(一)
[C语言学习]C语言程序设计基础(一)
235 0
[C语言学习]C语言程序设计基础(一)
|
存储 自然语言处理 Linux
0基础C语言自学教程——收官之战——第十四节 文件的编译和链接
这个时候程序将使用一个运行时堆栈(stack),存储函数的局部变量和返回地址。程序同时也可以使用静态(static)内存,存储于静态内存中的变量在程序的整个执行过程一直保留他们的值。
160 0
0基础C语言自学教程——收官之战——第十四节 文件的编译和链接
|
存储 编译器 数据库
0基础C语言自学教程——第十三节 文件操作
数据在内存中以二进制的形式存储,如果不加转换的输出到外存,就是二进制文件。
146 0
0基础C语言自学教程——第十三节 文件操作
|
小程序 程序员 编译器
0基础C语言自学保姆教程——第十二节 动态内存分配
在开辟数组的过程中,其必须是一个定长的数组,就是在开辟空间的过程中就要指定大小;并且空间开辟的大小是固定的。
151 0
0基础C语言自学保姆教程——第十二节 动态内存分配