c语言试题(水仙花数==)

合集下载

c语言水仙花数作业,c语言水仙花数(c语言水仙花数的编程)

c语言水仙花数作业,c语言水仙花数(c语言水仙花数的编程)

c语⾔⽔仙花数作业,c语⾔⽔仙花数(c语⾔⽔仙花数的编程)C语⾔计算出"⽔仙花"数,代码如下:运⾏结果如下:扩展资料 解题思路:这⾥提供了⼀种算法,即使⽤三个for循环确定三位数字,最外层的for循环即确定百位上的数字.“⽔仙花数”程序怎么写啊代码如下:#include int main() { printf("输出⽔仙花数:\n"); int i=100; for( ; i<1000; i++){ int num_0 = i%10; int num_1 =i/10%10; int num_2 = i/10/10%10; if.#include void main() { int a,b,c,s; s=a*100+b*10+c; for(a=1;aLZ你好~ ⾸先你要理解啥是⽔仙花数:⽔仙花数是指⼀个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本⾝。

(例如:1^3 + 5^3 + 3^3 = 153) 以上来⾃百.#include main() { int n,i,j,k; for(n=100;n把if语句块套在for循环⾥才⾏。

#include main() { int n,i,j,k; for(n=100;n<. k="n%10;" if .>最近学C语⾔ 作业⾥⾯有个写程序求⽔仙花数的 尝试得写了写 #include #.#include#include main() { int a,b,c,Y; int sum=100; while(sum<=999) { 百a=sum/100; b=sum%100/10; c=sum%10;Y=a*a*a+b*b*b+c*c*c; if(Y==sum)//判断.现写⼀个程序给我可以吗?跟⽹上其他有点差别就⾏了,不要复制粘贴的。

.#include int main(int argc, char **argv) { int i; int g ,s,b; //定义个位制,⼗位,百位上的知数 for(i=100;i<1000;i++){ //从100到1000查询⽔仙花数 g=i%10; //取出.严格的⽔仙花是三位数,并且其每位数的三次⽅的和等于它的本⾝。

四川省2级c语言习题以及答案讲解

四川省2级c语言习题以及答案讲解

函 数 体
返回
删除字符
#include<stdio.h> #include<string.h> 自定义函数 find(char str[],char ch) {int i,j,temp; i=0; while(str[i]!='\0') 用后面的 { if(ch==str[i]) 函 字符覆盖 for(j=i;str[j]!='\0';j++) 数 前面的字 str[j]=str[j+1]; 符达到删 体 else i++; 除效果。 str[j]='\0'; } 关键注意字符 return; 串结束标志 } ‘\0’ main() {char ch,str[50]; printf("input a string\n"); 从键盘读入字 gets(str); 符串 printf("input a char\n"); ch=getchar(); 从键盘读入单个字符 find(str,ch); puts(str); }
关键注意字符串结束标志0从键盘读入字符串从键盘读入单个字符返回合并字符串includestdiohincludestringhhebcharstr1charstr2intij
上机练习题
1.编写一个函数找出(100-999)之间水仙花的个数,并输 出所有是水仙花数的数。153=1×1×1+5×5×5+3×3×3
例 2.编写一个函数找出0到1000之间所有回文数。如:
121 ,11211 是回文数。 例
3.编写一个函数判断输入的一个字符串是否是回文
字符串。如:aabaa ,abba 是回文字符串。例
4.编写一个函数求一个字符串的长度(字符个数)不能调 用库函数strlen。 例 5.编写一个函数实现对字符数组a【20】内的字符按升序排 序。 例

c语言水仙花数的概念 -回复

c语言水仙花数的概念 -回复

c语言水仙花数的概念-回复C语言水仙花数的概念一. 引言在C语言编程中,水仙花数是一个经典的概念。

它不仅是一个数学问题,也是学习和探索编程的一个绝佳机会。

本文将详细解释什么是水仙花数,并提供一个步骤性的指南,以帮助读者理解和实现这个概念。

二. 水仙花数的定义水仙花数,也被称为自恋数或亲花数,是指一个三位数,它的每个位上的数字的立方和等于它本身。

举例来说,153是一个水仙花数,因为1的立方加上5的立方加上3的立方等于153。

水仙花数是对自然数的一种特殊形式的探索,它既有数学的美感,也有令人着迷的编程实现之道。

三. 实现计算水仙花数的算法下面将介绍一种简单的算法来计算水仙花数:1. 定义一个循环,从100到999,以便对所有的三位数进行检查。

2. 在每次迭代中,将当前的三位数分解成百位、十位和个位上的数字。

3. 对每个数字进行立方操作,并将结果相加。

4. 比较结果和原始的三位数,如果相等,则打印该数字。

下面是一个示例程序:c#include <stdio.h>int main() {int num, digit, sum;printf("水仙花数: ");for (num = 100; num <= 999; num++) { sum = 0;int temp = num;while (temp > 0) {digit = temp 10;sum += digit * digit * digit;temp = temp / 10;}if (sum == num) {printf("d ", num);}}return 0;}四. 程序解析让我们逐步分析这个程序:1. 首先,我们声明了需要使用的变量,包括num(用来存储当前检查的数字),digit(用来存储当前位上的数字)和sum(用来存储每位数字立方和)。

2. 我们通过一个循环,从100到999,依次检查每个三位数。

c语言水仙花数统计(函数)

c语言水仙花数统计(函数)

c语言水仙花数统计(函数)1.引言1.1 概述概述部分:水仙花数是指一个三位数,其各个位上数字的立方和等于该数本身的数。

例如,153是一个水仙花数,因为1的立方加上5的立方加上3的立方等于153。

在这篇长文中,我们将讨论如何在C语言中判断一个数是否为水仙花数,以及为什么统计C语言中的水仙花数是非常重要的。

通过学习判断水仙花数的方法,我们可以提高我们的编程技巧和逻辑思维能力。

最后,我们将总结本文的主要内容和结论。

在接下来的正文部分,我们将详细介绍水仙花数的定义以及在C语言中判断水仙花数的具体方法。

希望本文能给读者带来启发和帮助,进而深入理解C语言和编程中的一些基本概念。

1.2 文章结构文章结构部分的内容可以描述本文的组织方式和各个章节的内容概述。

可以参考以下内容:本文按照以下结构进行组织和阐述。

首先,在引言部分(第1章)中,我们会对水仙花数统计的背景和重要性进行概述,并明确本文的目的。

接下来,在正文部分(第2章)中,我们将深入讨论水仙花数的定义和在C 语言中判断水仙花数的方法。

具体来说,我们将从数学角度解释水仙花数的概念,并分享一种基于C语言的判断方法。

在结论部分(第3章)中,我们将探讨统计C语言中的水仙花数的重要性,并对全文进行总结。

通过以上结构安排,本文将系统地介绍水仙花数及其在C语言中的判断方法,旨在提供给读者一个全面且深入的认识。

接下来,让我们深入了解水仙花数的定义(第2.1节)。

1.3 目的本文的目的是通过分析和介绍C语言中水仙花数的判断方法,探讨水仙花数在编程中的重要性和实际应用。

通过理解水仙花数的概念和判断方法,读者可以加深对C语言编程的理解和应用,同时也能够提高编程效率和代码质量。

具体来说,本文的目的包括以下几点:1.介绍水仙花数的定义:首先,我们将详细介绍水仙花数的定义和特征。

水仙花数是一个三位数,它的每个位上的数字的立方和等于其本身。

例如,153是一个水仙花数,因为1³+ 5³+ 3³= 153。

c语言for循环题目经典题

c语言for循环题目经典题

c语言for循环题目经典题下面是搜集的关于C语言for循环的经典例题。

一、求水仙花数问题水仙花数:水仙花数是一个三位数,特点是各个位数的立方和等于该数本身。

//水仙花数是一个三位数,特点是各个位数的立方和等于该数本身。

//例:153=1*1*1+5*5*5+3*3*3#include <stdio.h>int main(){int i,a,b,c;for(i=100;i<=999;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);}return 0;}二、求规定范围内的完数问题完数:一个正整数的所有真因子(除了自身以外的约数)的和恰好等于它本身//完数定义:一个正整数的所有真因子(除了自身以外的约数)的和恰好等于它本身//例:6为完数,6的真因子为1,2,3 6=1+2+3#include <stdio.h>int main(){int n,i,j,sum;printf("请输入计算完数终止数:\n");scanf("%d",&n);for (i=1;i<=n;i++){sum=0; //一定要保证每次sum的值都要进行刷新(在循环体内)for (j=1;j<i;j++) //保证小于i,不可等于(完数定义){if (i%j==0) sum+=j;}if (sum==i) printf("%d\n",i);}return 0;}三、求规定范围内质数问题质数:一个大于1的整数只能被1和自己整除//质数:一个大于1的整数只能被1和自己整除#include <stdio.h>int main(){int i,j,k,n;printf("请输入终止范围:");scanf("%d",&n);for (i=2;i<=n;i++){k=1; //借助k的值对是否为质数进行判断,需保证每次k都能刷新for (j=2;j<i;j++) //最小质数是2{if (i%j==0){k=0; //在这期间只要有一个其他数可对该数进行整除,就代表该数不是质数break;}}if (k==1) printf("%d\n",i);}}四、计算阶乘之和正整数的阶乘:是所有小于及等于该数的正整数的积,并且0的阶乘为1。

C语言期末考试编程题

C语言期末考试编程题

1.打印出所有的“水仙花数”,并按照一行5个的格式输出。

所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个“水仙花数”,因为153=1*1*1+5*5*5+3*3*3。

#include<stdio.h>void main(){int a,b,c,s,i=0;for(s=100;s<1000;s++){c=s%10;b=s/10%10;a=s/100;if(s==a*a*a+b*b*b+c*c*c){printf("%d\t",s); ++i;if(i%5==0)printf("\n"); }}}2.求1+2!+3!+...+20!的和#include<stdio.h>void main(){double fact=1.0,sum=0.0;int i,j;for(i=1;i<=20;i++){for(j=1;j<=i;j++)fact*=j;sum+=fact;fact=1;}printf("%.0f\n",sum);}3.输入一个5位数,判断它是不是回文数。

即12321是回文数,个位与万位相同,十位与千位相同。

#include<stdio.h>#include<stdlib.h>void main(){long num;int a,b,c,d;printf("Please input the number:");scanf("%d",&num);if(num<=9999||num>=100000) {printf("%The number is error!\n");exit(0);}a=num/10000;b=num/1000%10;c=num/10%10;d=num%10;if(a==d&&b==c)printf("\nYes,the %ld is palindrome!\n",num);elseprintf("\nNo,the %ld is not palindrome!\n",num);}4. 求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并并按照一行5个的格式输出。

题目打印出所有的“水仙花数”,所谓“水仙花数”是指2

题目打印出所有的“水仙花数”,所谓“水仙花数”是指2

printf("\n%ld\n",i);
数,这说明此数是完全平方数*/
}
}
❖ 题目:某个公司采用公用 传递数据,数据是四位的整数, 在传递过程中是加密的,加密规那么如下:每位数字都加上 5,然后用和除以10的余数代替该数字,再将第一位和第四位 交换,第二位和第三位交换。
main()
{int a,i,aa[4],t;
❖ 即从第三项开始,其每一项为哪一项前两项之和
main()
{ long f1,f2;
int i;
f1=f2=1;
for(i=1;i<=20;i++)
{ printf("%12ld %12ld",f1,f2);
if(i%2==0) printf("\n"); /*控制输出,每行四个*/
f1=f1+f2;

=GCD〔12,6〕

=GCD〔6,0〕
❖ 所以12和18的最大公约数为6
main() {
int a,b,temp; printf("please input two numbers:\n"); scanf("%d,%d",&a,&b); while(b!=0) /*利用辗除法,直到b为0为止*/ {
temp=a%b; a=b; b=temp; } printf("gongyueshu:%d\n",a); }
问题:假设要求两个数的最小公倍数,该如何修改程序?
❖ 素数问题:从键盘上任意输入一个十进制整数,判断 该数是否是一个素数。假设是,那么输出“该数是素 数〞;否那么输出“该项数不是素数〞。

C语言期末考试编程题内含代码

C语言期末考试编程题内含代码

倾情奉献---马杰1.打印出所有的“水仙花数”,并按照一行5个的格式输出。

所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个“水仙花数”,因为153=1*1*1+5*5*5+3*3*3。

main(){int i,j,k;for(i=1;i<10;i++)for(j=0;j<10;j++)for(k=0;k<10;k++)if( (i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))printf("%d%d%d ",i,j,k);getch();}2.求1+2!+3!+...+20!的和#include<stdio.h>int main(){float i,index=1,sum=1;for(i=1;i<=20;i++){index*=i;//保存每一项的阶乘sum+=index;//加上每一项的阶乘}printf("%e\n",sum);return 0;}3.输入一个5位数,判断它是不是回文数。

即12321是回文数,个位与万位相同,十位与千位相同。

#include <stdio.h>#include <string.h>main(){int i,nLen,flag;char num[6];gets(num);nLen =strlen(num);for (i=0;i<nLen/2;i++){flag=0;if (num[i]==num[nLen-i-1])flag =1;}if (flag) puts("回文数");else puts("不是");}4. 求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并并按照一行5个的格式输出。

#include<stdio.h>void fun (int *a, int *n){int i;*n=0;for(i=1;i<=1000;i++)if(( i%7==0 || i%11==0 ) && (!( i%7==0 && i%11==0 ))){a[*n]=i;(*n)++;}}main(){int aa[1000],n,k;fun(aa,&n);for (k=0;k<n;k++)if ((k+1)%10==0) printf("\n");else printf("%5d",aa[k]);}5.编程列出200以内所有的素数,按照一行8个的格式输出,并求出所有素数的平均值,#include<math.h>main(){int m,i,k,n=0;for(m=2;m<=200;m++){k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0) break;if(i>=k+1){printf("%4d",m);n++;}if(n%8==0){printf("\n");}}printf("\n");}6、编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1+1/3+1/5...+1/n#include <iostream.h>#include <string.h>double fun1(double n){double sum=0;double m=0;for(int i=2; i<=n; i+=2){m=1/n;sum+=m;}return sum;}double fun2(double n){double sum=0;double m=0;for(int i=1; i<=n; i+=2){m=1/n;sum+=m;}return sum;}void main(){int num;cin>>num;if(num%2==0){cout<<fun1(num)<<endl;}else{cout<<fun2(num)<<endl;}}7、已知abc+cba=1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。

C语言基础题

C语言基础题

第一期:1. 输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身,例如:153是一水仙花数,因为153=1+125+27.2. 一个数如果恰好等于它的因子之和,这个数就称为“完数”,例如:6的因子是1,2,3,而6=1+2+3因此6是“完数”。

编程序找出1000之内的所有完数,并按下面格式输出其因子:6 its factors are 1,2,33. 有一个分数序列2/1,3/2,5/3,8/5,13/8,21/13,…求出这个数列的前20相之和。

4.一个球从100M高度自由下落,每次落地后反跳回原高度的一半,再落下,再反弹,求它在第10次落地时,共经过多少米,第10次反弹多高。

5.猴子吃桃问题。

猴子第一天,摘下若干个桃子,当即吃了一半,还不过瘾,有多吃了一个。

第二天早上又将剩下的桃子吃掉一半,有多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第十天早上想再吃时,就只剩一个桃子了。

求第一天共摘了多少个桃。

6.两个乒乓球队进行比赛,各出3人。

甲队为A,B,C;乙队X,Y,Z。

以抽签决定比赛名单。

有人向队员打听比赛的名单,A说他不和X比,C说他不和X,Z比,请编程找出3队赛手的名单。

7.将一个二维数组行和列的元素互换,存到另一个数组中。

原始二位数组手动输入,行和列自定。

8.输出以下的杨辉三角形(要求输出15行)11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 19.输出“魔方阵”。

所谓魔方阵就是指这样的方阵,它的每一行,每一列和对角线之和均相等。

例如三阶魔方阵为:8 1 64 9 2要求输出1~n2的自然数构成的魔方阵。

10.找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。

也可能没有鞍点。

第二期:1.有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。

如果该数不在数组中,则输出“无此数”。

C语言练习题:水仙花数

C语言练习题:水仙花数

C语⾔练习题:⽔仙花数 传说中的⽔仙花数就是⼀个三位数的各个位数的三次⽅之和就是这个数本⾝例如153=1*1*1+5*5*5+3*3*3。

好,开始解题:⾸先,题中已经说了⽔仙花数是⼀个三位数,也就是说我们需要定义⼀个循环在100到1000中⼀个个来验证它是不是⽔仙花数;然后就是核⼼代码了,凭空想的话很难找到思路,⾄少对我这个菜鸡来说是这样,那怎么办呢?给题上的例⼦⽤起来啊,那问题⼜来了,怎么把153和等号右边的玩意⼉联系起来。

153,有1有5还有3,右边也是有1有5还有3;取模运算符吧3%10=3 5%10=5 1%10=1,你就说对不对就完事⼉了,这⾥的=是数学意义上的=啊,不是赋值符号,我不想挨怼。

⼈家个位数的取模运算⼀次就完事,那⼗位数百位数上的咋搞,先除以⼗再搞! 为了⼩伙伴更容易理解,我在⼗位和百位的运算上加了括号,实际编写中不加也可以1 #include<stdio.h>2int main()3{4int ge,shi,bai;//定义个位、⼗位、百位5for(int i=100;i<1000;i++)6 {7//个位数计算⽅法8 ge=i%10;9//⼗位数计算⽅法10 shi=(i/10)%10;11//百位数计算⽅法12 bai=(i/10/10)%10;1314//判断是否为⽔仙花数15if(i==bai*bai*bai+shi*shi*shi+ge*ge*ge)16 {17//输出⽔仙花数18 printf("⽔仙花数:%d\n",i);19 }2021 }222324return0;25 } 结果: ⽔仙花数:153 ⽔仙花数:370 ⽔仙花数:371 ⽔仙花数:407。

n位水仙花数c语言程序

n位水仙花数c语言程序

n位水仙花数c语言程序
水仙花数是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。

例如,153是一个三位数水仙花数,因为1^3 + 5^3 + 3^3 = 153。

下面是一个使用c语言编写的n位水仙花数程序:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int n, min, max, sum, i, j;
printf('请输入位数n:');
scanf('%d', &n);
min = pow(10, n - 1);
max = pow(10, n) - 1;
for (i = min; i <= max; i++)
{
sum = 0;
for (j = i; j > 0; j /= 10)
{
sum += pow(j % 10, n);
}
if (sum == i)
{
printf('%d 是一个%d位数水仙花数
', i, n);
}
}
return 0;
}
```
首先,程序要求用户输入位数n,然后计算出n位数的最小值和最大值,分别为10^(n-1)和10^n-1。

接着,程序使用两层循环依次遍历这些数,计算每个数的各个位上数字的n次幂之和,如果和等于该数本身,则输出它是一个n位数水仙花数。

基于visualStudio2013解决C语言竞赛题之0608水仙花函数

基于visualStudio2013解决C语言竞赛题之0608水仙花函数

基于visualStudio2013解决C语⾔竞赛题之0608⽔仙花函数题⽬解决代码及点评/*功能:写⼀函数判断某数是否“⽔仙花数”,所谓“⽔仙花数”是指⼀个三位数,其各位数字⽴⽅和等于该数本⾝。

*/#include<stdio.h>#include<stdlib.h>int flower(int); //判断参数是否为⽔仙花数,是返回1,否返回0void main(){int num;scanf_s("%d",&num); // 输⼊⼀个数int flag = flower(num); // 判断是否⽔仙花数if (flag == 1)printf("YES"); // 如果是打印yes,否则打印noelse printf("NO");system("pause");}// 判断⽔仙花数函数实现,根据题⽬要求判断即可int flower(int n){int b1 = n % 10; //个位数int b2 = n / 10 % 10; //⼗位数int b3 = n / 100; //⽩位数if (n == b1*b1*b1 + b2*b2*b2 + b3*b3*b3){printf("%d = %d^3 + %d^3 + %d^3\n\n",n,b1,b2,b3);return 1;}else return 0;}代码编译以及运⾏由于资源上传太多,资源频道经常被锁定⽆法上传资源,同学们可以打开VS2013⾃⼰创建⼯程,步骤如下:1)新建⼯程2)选择⼯程3)创建完⼯程如下图:4)增加⽂件,右键点击项⽬5)在弹出菜单⾥做以下选择6)添加⽂件7)拷贝代码与运⾏程序运⾏结果。

水仙花数的计算

水仙花数的计算
} System.out.println(sum);
}
注:没有什么说的,只是简单的判别和取余的应用!
请求错错误代码503请尝试刷新页面重试
水仙花数的计算
public class Test3 { /*题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数, * 其各位数字立方和等于该数本身。 * 例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。*/ public static void main(String[] args) { //根据题意得出判断条件x*x*x+y*y*y+z*z*y=xyz; //获取范围 Scanner s = new Scanner(System.in); int number = s.nextInt(); //定义水仙花数的总数 int sum=0; //定义三位数的每一位数字 int x=0,y=0,z=0; //遍历数据范围 for (int i = 101; i < number; i++) { //一直为三位数 //获取每一位的数字 x=i/100; y=(i%100)/10; z=i%10; //判断是否符合条件符合就输出和总数加1 if ((x*x*x+y*y*y+z*z*z)==i) { System.out.println(i); sum++; }

c语言水仙花数的解题思路

c语言水仙花数的解题思路

解题思路如下:
首先,水仙花数是指一个三位数,其各位数字的立方和等于该数本身。

我们可以使用循环来遍历所有三位数,从100到999。

在循环中,我们可以将当前数分解为个位、十位和百位数字。

然后,我们计算每个位数数字的立方和,并将其与原数比较。

如果相等,则该数是水仙花数,我们可以将其输出。

以下是使用C语言编写的示例代码:
#include <stdio.h>
int main() {
int num, digit, sum;
printf("水仙花数:");
for (num = 100; num <= 999; num++) {
sum = 0;
int temp = num;
while (temp > 0) {
digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == num) {
printf("%d ", num);
}
}
return 0;
}
运行该代码,将输出所有的水仙花数:153 370 371 407。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第4行为step,step精确到小数点后1位。
Output
输出第一行为C和F,分别表示摄氏和华氏,与小数点对齐。若输出摄氏——华氏温度转换表,则C在前、F在后;反之,则输出华氏——摄氏
温度转换表。
从输出的第2行开始为从温度low到温度high(包括low和high)的转换表,温度输出精确到小数点后1位,表格被“->”分为两个宽度相同的
*****************************************************************************************
Description
编程序读入并计算只有一个二元运算符的表达式的值。用到的二元运算符有:“+”、“-”、“*”、“/”、“%”,与C语言的语法一致。
Sample Input
2 12
Sample Output
=====
11
7
5
3
2
=====
HINT
利用素数的数学规律可以很容易的解出此题,题目给出的数据范围是关键。
****************************************************************************************
Sample Input
33+5
8*9
2.2
1-6
17/3
9%3
0 0
Sample Output
38
72
invalid op
-5
5
0
HINT
教材上有非常相似的例题可以参考。 来自****************************************************************************************
Output
输入所对应的成绩等级。
Sample Input
-1
81
92
35
68
72
100
Sample Output
Error
Good
Excellent
Failing
Pass
Average
Excellent
HINT
用switch语句解决这个问题比较方便。
Description
某外国销售公司需要向国内的一些大型单位打电话推销产品。这个公司的工作场景是这样推销员坐在自己电脑旁边,通过一款自动拨电话的
软件与客户联系。所有需要被拨打的电话号码都事先存储在服务器上,推销员不需要每次都很麻烦的输入客户的电话号码,当推销员点击软件里
拨打的按钮,下一个电话将会自动拨出。
部分,其它的测试样例也不会给出超出宽度的数据,格式详见sample。
Sample Input
C->F
-10
40
2.5
Sample Output
C -> F
-10.0 -> 14.0
-7.5 -> 18.5
-5.0 -> 23.0
-2.5 -> 27.5
****************************************************************************************
Description
读取两行字符串,按每行的长度从长到短输出。
Input
输入为两行,每行不会超过26个字符。
25.0 -> 77.0
27.5 -> 81.5
30.0 -> 86.0
32.5 -> 90.5
35.0 -> 95.0
37.5 -> 99.5
40.0 -> 104.0
HINT
输出格式可以通过sample分析出来,因为两栏的总宽度是固定的。一个隐藏的陷阱是step是浮点数,某些浮点数是无法精确存储的,
****************************************************************************************
Description
找出n个数中最大的数和最小的数,并将它们的值输出出来。
Input
输入为n+1个整数,都在int类型范围内。这些数可能用若干空格或者换行符分隔开。
0.0 -> 32.0
2.5 -> 36.5
5.0 -> 41.0
7.5 -> 45.5
10.0 -> 50.0
12.5 -> 54.5
15.0 -> 59.0
17.5 -> 63.5
20.0 -> 68.0
22.5 -> 72.5
****************************************************************************************
Output
输出一行,为1+2+...+n的值。
Sample Input
10
Sample Output
55
HINT
n的数据范围大,需注意数据类型的选择和计算次序,以避免数据溢出。
****************************************************************************************
因此经过一定量的计算后这个误差会影响到浮点数的相等性判断,需要加上精度控制。
******************************************************************************************
Description
求1!+2!+…+k!=?,并判断是否溢出。
现在你需要编写个程序来模拟这个自动拨电话软件的工作过程。电话号码是按照中国的习惯存储下来的,可能是从网站上抓取的,也可能
是扫描的手写件。不过它们都被按照这样的格式存储下来:
(城市区号)分区前缀-分机号
比如青岛的一个大型单位的某部电话是(0532)621-15486,是指如果在单位内部直接拨打15486就行,在青岛的其他地方要拨打62115486,而
Description
素数是只能被1和自身整除的正整数,根据数学定义1不是素数。素数也叫质数。
Input
输入为两个整数m和n,满足0<=m<=n<=100。
Output
从大到小输出m~n之间的所有素数,一个素数一行。如果m~n之间没有素数,则不输出任何数。
输出的所有数在两行“=====”之间。
在北京要拨打053262115486。根据常识,先拨0就是要转外线,所以一般电话号码的各个部分都不会以0开头。
你的程序可以把如上格式的电话号码翻译成一个只包含有数字的串,发送给电话机并拨出。值得注意的是中国的城市区号长度并不相同,
比如北京是010。再有不同城市的电话号码位数也不相同,并且不同单位根据内部电话分机数目多少,有的可能只有3位分机号码,有的可能
Description
把百分制的考试成绩转换成五级制的成绩:
90~100:Excellent
80~89:Good
70~79:Average
60~69:Pass
0~59:Failing
不在0~100之间的输入是非法数据,输出“Error”。
Input
输入多行,每行一个整数。
****************************************************************************************
Description
输出1~k之间是m的倍数或n的倍数、但不是m和n的公倍数的数,其中1<=m,n<k<100。
Output
输出为两行,按每行的长度从长到短输出。
Sample Input
abcdefghijk
abcdefghijklmnopqrstuvwxyz
Sample Output
abcdefghijklmnopqrstuvwxyz
abcdefghijk
HINT
了解字符串的存储和操作,了解gets()和scanf("%s")读入字符串的不同之处。
Input
输入为一个正整数k。
Output
若1!+2!+…+k!的值溢出unsigned(无符号整型)的范围输出“overflow”,否则输出1!+2!+…+k!的结果。
Sample Input
5
Sample Output
153
HINT
如果一个值溢出某个变量的数据类型存储范围,但仍然存入该变量,那么存入该变量中的值实际上是什么?
Description
从键盘输入一个数x,x是2的整数次幂(x=2y),请编程求出y的值。
Input
一个非负有理数x,x在[0,2256]范围内。
Output
一个整数y。
Sample Input
1
Sample Output
0
HINT
看起来数据很大,但是用double完全可以存储。为什么?请研究下IEEE-754标准的浮点数存储格式。这里要用到C语言标准库的数学函数。
相关文档
最新文档