(1)斐波那契数列
描述
输入整数n,输出斐波那契数列的前n项。
输入
输入一个整数n(1<=n<=30)
输出
输出斐波那契数列的前n项。每个数后面都有空格。
示例
输入
6
输出
1 1 2 3 5 8
#include<stdio.h>
#include<math.h>
int main()
{
int n,a = 1, b = 1,temp,i;
scanf("%d",&n);
if(n>2){
printf("1 1 ");
for(i=3;i<=n;i++){
temp=a+b;
a=b;
b=temp;
printf("%d ",b);
}printf("\n");
}
else if(n==1)
{printf("1 \n");}
else if (n==2){
printf("1 1 \n");
}
}
(2)计算n!
题目描述
给定整数n,计算n!的值并输出。
输入要求
输入一个正整数n(n≤12)。
输出要求
输出n!的值。
输入样例
5
输出样例
120
# include<stdio.h>
int main()
{
int n;
int t;
int s=1;
scanf("%d",&n);
for(t=1;t<=n;t++)//数的相乘,知道被乘数为n截止
{
s=s*t;
}
printf("%d\n",s);
return 0;
}
(3)标题:比较字符串
描述:输入一行字符(长度小于等于1000),判断其中是否存在相邻两个字符相同的情形,若有,则输出该相同的字符并结束程序(只需输出第一种相等的字符即可)。否则输出NO
输入输出示例:
输入 | 输出 | |
示例 1 | hello anna | l |
提示:输出的NO是大写。
#include<stdio.h>
#include<string.h>
int main()
{
int i,a;
char ch[1000];
gets(ch);
a=strlen(ch);
for(i=0;i<a;i++)
{
if(ch[i]==ch[i+1])
{
printf("%c\n",ch[i]);break;
}
}
if(i==a)
{
printf("NO\n");
}
}
(4) 鸡兔同笼
描述
一个笼子里关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡的数目和兔的数目。如果无解,则输出NO answer。
输入
输入整数n和m,分别表示鸡兔的总数量及总腿数。
输出
依次输出鸡的数目和兔的数目。如果无解,则输出NO answer。
示例
(点击编辑器左上角{;}按钮编辑代码框)
输入
5 16
输出
2 3
提示
NO answer的判断条件:如果计算出来鸡的数目小于0,或者兔的数目小于0,或者总的腿数m不是偶数。
#include<stdio.h>
int main()
{
int n,m,x,y;//鸡兔总数量,总腿数量,鸡的数量,兔的数量
scanf("%d%d",&n,&m);
/** 列方程
* n=x+y;
* m=2*x+4*y;
*/
x=2*n-0.5*m;
y=0.5*m-n;
if(x>=0&&y>=0&&n==x+y)
printf("%d %d\n",x,y);
else
printf("NO answer\n");
return 0;
}
(5)二维数组元素加2操作
描述
从键盘输入数值,构成一个3行4列的二维整型数组,设计函数对每个元素执行加2操作,然后在主函数中输出该数组的内容。
输入
输入3行4列的二维数组。
输出
按行列形式输出操作后的数组,每个数字后面都有空格。
示例
输入
1 2 3 4
5 6 7 8
9 10 11 12
输出
3 4 5 6
7 8 9 10
11 12 13 14
#include <stdio.h>
int main()
{
int str[10][10];
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
scanf("%d",&str[i][j]);
}
}
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
printf("%d ",str[i][j]+2);
}
printf("\n");
}
return 0;
}
(6)蟠桃记
描述
喜欢西游记的同学都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题!什么问题呢?他研究的问题是蟠桃一共有多少个?不过,到最后,他还是没能解决这个难题,呵呵^-^ ,你能帮他解决这个问题吗?
当时的情况是这样的:第一天悟空摘下若干个桃子,当即吃掉一半,还不过瘾,又多吃了一个。第二天又将第一天剩下的桃子吃掉一半,又多吃了一个。以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候,发现只剩下一个桃子了。聪明的你,请帮悟空算一下,他第一天共摘了多少桃子?
输入
输入一个正整数n(1 < n < 30 ),表示只剩下一个桃子的事情是在第n天发生的。
输出
输出悟空第一天共摘了多少桃子。
示例
输入
4
输出
22
#include<stdio.h>
int main()
{
int n,i,j=1,sum;
scanf("%d",&n);
for(i=0;i<n-1;i++)
{
j=(j+1)*2;
}
printf("%d\n",j);
}
(7)回文问题
描述
回文是从前向后读和从后向前读都一样的字符串,输入一个字符串,程序判断该字符串是否是回文后输出。例如:字符串LEVEL是回文,而123312就不是回文。
输入
输入一个字符串,以回车结束。
输出
[输出格式] 如是回文,输出“Yes”;反之,输出“No”。
示例
输入样例1: level 输出样例1: Yes
输入样例2:12345 输出样例2: No
#include<stdio.h>
#include<string.h>
int main(){
int sum=0,num,i;
char ch[10000];
gets(ch);
num=strlen(ch);
for(i=0;i<=num/2;i++)
{
if(ch[i]==ch[num-1-i])
sum++;
}
if(sum==(num/2)+1)
printf("Yes\n");
else printf("No\n");
}
(8)标题 变种水仙数
描述:
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。
例如:153=1^3+5^3+3^3。
8208 = 8^4+2^4+0^4+8^4
这道题请写出程序判断输入的数是否为水仙花数。
输入描述:
首先输入正整数 n,表示需要判断的数的个数 (1<=n<=100) 随后每一行输入一个数 Ai,对于每次输入判断 Ai 是否为水仙花数
输出描述:
每次判断 Ai 输出判断结果: 如果是,输出 yes 否则输出 no
输入输出示例
输入 | 输出 | |
示例 1 | 3 111 153 222 | no yes no |
#include <stdio.h>
#include <math.h>
int main()
{
int n = 0,b=0,k=0,m=0;
int a =0;
scanf("%d",&n);
for(int i = 0; i != n; ++i)
{
a = 0;
scanf("%d",&a);
b = a;
k = 0,m = 0;
while (b)
{
m++;
b /= 10;
}
b = a;
while(b)
{
k += pow(b%10,m);
b /= 10;
}
if(a == k)
printf("yes\n");
else printf("no\n");
}
return 0;
}