N
元钱买 N
只鸡,公鸡每只5元,母鸡每只3元,小鸡1元3只, N
元钱必须刚好买 N
只鸡,而且鸡必须整只买,不能劈开买。
有几种买法呢?这就是N鸡问题。
在一行中输入一个正整数 N
。( N<500< code>)<!--500<-->
在一行中输出两个整数 c
s
,中间用一个空格隔开,表示 N
元钱买 N
只鸡共有 c
种买法,且所有买法的公鸡数量之和是 s
。
如果无解,则 s
为 -1
.
100
4 24
0 -1
#include<stdio.h>
int main()
{
int N,c=0,s=0;
int gong,mu,xiao;
scanf("%d",&N);
for(gong=0;gong<=n;gong++) { for(mu="0;mu<=N-gong;mu++)" for(xiao="0;xiao<=N-gong-mu;xiao++)" if(gong+mu+xiao="=N&&gong*5+mu*3+xiao/3==N&&xiao%3==0)" c++; s+="gong;" } if(c="=0){" printf("0 -1"); else printf("%d %d",c,s); return 0; }< code></=n;gong++)></stdio.h>
本题目要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形。所谓”空心菱形”是指:每行由两端为字母、中间为空格的字符串构成,每行的字符串中心对齐;上半部分相邻两行字符串长度差2,且字母从给定的起始字母逐一递增;下半部分与上半部分对称。
输入在一行中给出起始字母(范围为英文大写字母A-G)和菱形的高度(为不超过10的奇数)。
输出空心字符菱形。
B 5
B
C C
D D
C C
B
#include <stdio.h>
// 1、先画出实心菱形(把菱形分成上下俩部分,再分成正三角和倒三角 )
// 2、 把输入的N(n层)带入循环
// 3、 用if语句使菱形中心为空
// 4、 利用ASCII码的加减 实现字母组成
int main()
{
int n,i,j;
char c;
scanf("%c%d",&c,&n);
//针对奇数层的菱形 上部分
for(i=1;i<=n 2+1;i++) { 第一个为上班边的倒三角 for(j="n/2;j">=i;j--)
printf(" ");
//第二个上半边的正三角
for(j=0;j<i*2-1;j++) { 菱形中间的空心用if else来实现 if(j="=0" || j="=i*2-2)" printf("%c",c); else printf(" "); } c+="1;" printf("\n"); c-="1;" 下部分 for(i="1;i<=n/2;i++)" 第三个为下半边的正三角 for(j="1;j<=i;j++)" 第四个三角形为倒三角形>=i*2-1;j--)
{
if(j==n-2 || j==i*2-1)
printf("%c",c);
else
printf(" ");
}
printf("\n");
}
}
</i*2-1;j++)></=n></stdio.h>
本题的要求很简单,就是求 N
个数字的和。麻烦的是,这些数字是以有理数 分子/分母
的形式给出的,你输出的和也必须是有理数的形式。
输入第一行给出一个正整数 N
(≤100)。随后一行按格式 a1/b1 a2/b2 ...
给出 N
个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。
输出上述数字和的最简形式 —— 即将结果写成 整数部分 分数部分
,其中分数部分写成 分子/分母
,要求分子小于分母,且它们没有公因子。如果结果的整数部分为0,则只输出分数部分。
5
2/5 4/15 1/30 -2/60 8/3
3 1/3
2
4/3 2/3
3
1/3 -1/6 1/8
7/24
#include<stdio.h>
#include<stdlib.h>
int gcd(int x,int y)
{
return y?gcd(y,x%y):x;
}
int main()
{
int n,a1,b1,a2,b2,t,p;
scanf("%d",&n);
scanf("%d/%d",&a1,&b1);
n--;
while(n--)
{
scanf("%d/%d",&a2,&b2);
a1=a1*b2+a2*b1;b1*=b2; //进行通分
if(a1<0) p代表正负 a1*="-1,p=-1;" else if(a1="=0)" 分子为0的情况 { b1="1;continue;" } p="1;" t="gcd(a1,b1);" a1="a1*p/t;b1/=t;" if(abs(a1)%b1="=0)" printf("%d\n",a1 b1); 分类讨论输出 if(abs(a1)>=1) printf("%d %d/%d\n",a1/b1,abs(a1)-abs(a1/b1)*b1,b1);
else printf("%d/%d\n",a1,b1);
}</0)></stdlib.h></stdio.h>
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写程序,计算所有N位水仙花数。
输入在一行中给出一个正整数N(3≤N≤7)。
按递增顺序输出所有N位水仙花数,每个数字占一行。
153
370
371
407
#include <stdio.h>
int pow(int a,int b){
int i,t=a;
for(i=1;i<b;i++){ a="a*t;" } return a; int main (){ i,n,n; sum,num; scanf("%d",&n); n="pow(10,N);" for(i="pow(10,N-1);i<n;i++){" num="i;" sum="0;" while(num>0){
sum=sum+pow(num%10,N);
num=num/10;
}
if(sum==i){
printf("%d\n",i);
}
}
return 0;
}</b;i++){></stdio.h>
给定一个整数m(50
Original: https://blog.csdn.net/LxinY213/article/details/127818429
Author: Pei213
Title: 面向过程程序设计——循环结构程序设计(2)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/655382/
转载文章受原作者版权保护。转载请注明原作者出处!