目录
1、使用 break 和 continue 分别显示 4 之后函数就不再打印 i。(i 的变化范围是 0~10)
3、已知 a,b,c 都是 1 位整数,求当三位数 abc+cba 的值为 1333 时 a,b,c 的值
5、计算并输出 200—400 之间不能被 3 整除的整数的和
6、编程计算 1! +2! +3! + …… +10!的值。
7、编程计算 1*2*3+3*4*5+......+99*100*101 的值
8、输出所有 200-400 以内能被 3 整除且个位数字为 7 的整数
9、打印所有水仙花数。所谓水仙花是指一个三位数,其各位数字的立方和等于该数。
10、输出 100 到 200 以内的所有素数(只能被本身或 1 整除的数)
11、求 1-1/2+1/3-1/4+……+1/99-1/100 的值。
12、用1元人民币兑换5分(20), 2 分(50), 1 分(100)的硬币共50枚,每种硬币至少1枚
13、已知银行定期存款利率为 r=2.25%,输入存款本金 x, 存款年数 n,输出本利之和 r=x(1+r) (1+r) .....(1+r),共 n 个(1+r)
14、输入正整数,将正整数分解质因数。质因数要满足两个条件:①是这个数的因数;②是质数(素数)
15、输出 10000 以内的所有完全数, 各个小于它的约数(真约数, 列出某数的约数, 掉该数本身,剩下的就是它的真约数)的和等于它本身的自然数叫做完全数。
17、求 Sn=a+aa+aaa+……+aa..aa(n 个 a)之值,其中 a 是一个数字,n 表示 a 的位数。
18、有一个分数序列: 2/1,3/2,5/3,8/5,13/8,21/13,... 求出这个数列的前 20 项之和。
19、小猴摘了很多桃子,第一天吃了一半又多吃一个,第二天又吃掉一半再多吃一个,如此下去,到第 真十天恰好还剩一个桃子。问第一天小猴摘了多少桃子?
1、使用 break 和 continue 分别显示 4 之后函数就不再打印 i。(i 的变化范围是 0~10)
//使用 break 和 continue 来分别显示一个 4 之后函数就不再打印 i。(i 的变化范围是 0~10)
#include<stdio.h>
int main()
{
int i;
for(i=0;i<=10;i++)
{
if(i>=5)
{
break;
}
printf("i=%d\n",i);
}
return 0;
}
//使用 break 和 continue 来分别显示一个 4 之后函数就不再打印 i。(i 的变化范围是 0~10)
#include<stdio.h>
int main()
{
int i;
for(i=0;i<11;i++)
{
if(i>4)
{
continue;
}
printf("i=%d\n",i);
}
return 0;
}
2、求 100 以内自然数中最大能被 17 整除的数
//求 100 之内自然数中最大的能被 17 整除的数
#include<stdio.h>
int main()
{
int i;
for(i=100;i>0;i--)
{
if(i%17==0)
{
printf("i=%d\n",i);
break;
}
}
return 0;
}
3、已知 a,b,c 都是 1 位整数,求当三位数 abc+cba 的值为 1333 时 a,b,c 的值
//已知 a,b,c 都是 1 位整数,求当三位数 abc+cba 的值为 1333 时 a,b,c 的值
#include<stdio.h>
int main()
{
int a,b,c;
for(a=1;a<10;a++)
{
for(b=0;b<10;b++)
{
for(c=1;c<10;c++)
{
if(a*100+b*10+c+c*100+b*10+a==1333)
{
printf("a=%d,b=%d,c=%d\n",a,b,c);
}
}
}
}
return 0;
}
4、输入年份,判断是否为闰年
//输入年份,判断是否闰年
#include<stdio.h>
int main()
{
printf("请输入年份:\n");
int year;
scanf("%d",&year);
if(year%4==0 && year%100!=0||year%400==0)
{
printf("闰年!\n");
}
else
{
printf("不是闰年!\n");
}
return 0;
}
5、计算并输出 200—400 之间不能被 3 整除的整数的和
//计算并输出 200—400 之间不能被 3 整除的整数的和
#include<stdio.h>
int main()
{
int i,sum=0;
for(i=200;i<=400;i++)
{
if(i%3!=0)
{
sum+=i;
}
}
printf("sum=%d\n",sum);
return 0;
}
6、编程计算 1! +2! +3! + …… +10!的值。
//编程计算 1! +2! +3! + …… +10!的值
#include<stdio.h>
int main()
{
int i,num=1,sum=0;
for(i=1;i<=10;i++)
{
num*=i;
sum+=num;
}
printf("sum=%d\n",sum);
return 0;
}
7、编程计算 1*2*3+3*4*5+......+99*100*101 的值
//编程计算 1*2*3+3*4*5+......+99*100*101 的值
#include<stdio.h>
int main()
{
int i,sum=0;
for(i=1;i<100;i+=2)
{
sum+=i*(i+1)*(i+2);
}
printf("sum=%d\n",sum);
return 0;
}
8、输出所有 200-400 以内能被 3 整除且个位数字为 7 的整数
//输出所有 200-400 以内能被 3 整除且个位数字为 7 的整数
#include<stdio.h>
int main()
{
int i;
for(i=200;i<=400;i++)
{
if(i%3==0 && i%10==7)
{
printf("i=%d\n",i);
}
}
return 0;
}
9、打印所有水仙花数。所谓水仙花是指一个三位数,其各位数字的立方和等于该数。
例 如:153=1*1*1+5*5*5+3*3*3=1+125+27
//打印所有水仙花数。所谓水仙花是指一个三位数,其各位数字的立方和等于该数。
#include<stdio.h>
int 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\n",i*100+j*10+k);
}
}
}
}
return 0;
}
10、输出 100 到 200 以内的所有素数(只能被本身或 1 整除的数)
//输出 100 到 200 以内的所有素数(只能被本身或则 1 整除的数)
#include<stdio.h>
int main()
{
int i,j;
for(i=100;i<=200;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0)
break;
}
if(i==j)
{
printf("素数=%d\n",i);
}
}
return 0;
}
11、求 1-1/2+1/3-1/4+……+1/99-1/100 的值。
//求 1-1/2+1/3-1/4+……+1/99-1/100 的值
#include<stdio.h>
int main()
{
int i;
float sum1=0,sum2=0;
for(i=1;i<=100;i++)
{
if(i%2!=0)
{
sum1+=1.0/i;
}
else if(i%2==0)
{
sum2+=1.0/i;
}
}
printf("sum=%f\n",sum1-sum2);
return 0;
}
12、用1元人民币兑换5分(20), 2 分(50), 1 分(100)的硬币共50枚,每种硬币至少1枚
问共有多少种兑换方案,输出每一种方案三种硬币的数量。
//用 1 元人民币兑换 5 分(20), 2 分(50), 1 分(100)的硬币共 50 枚, 每种硬币至少 1 枚,问共有多少种兑换方案, 输出每一种方案三种硬币的数量
#include<stdio.h>
int main()
{
int a,b,c;
for(a=1;a<=18;a++)
{
for(b=1;b<=48;b++)
{
for(c=1;c<=98;c++)
{
if(a*5+b*2+c*1==100 && a+b+c==50)
{
printf("a=%d,b=%d,c=%d\n",a,b,c);
}
}
}
}
return 0;
}
13、已知银行定期存款利率为 r=2.25%,输入存款本金 x, 存款年数 n,输出本利之和 r=x(1+r) (1+r) .....(1+r),共 n 个(1+r)
//已知银行定期存款利率为 r=2.25%,输入存款本金 x, 存款年数 n,输出本利之和 r=x(1+r) (1+r) .....(1+r),共 n 个(1+r)
#include<stdio.h>
int main()
{
int n,i;
float x;
printf("请输入存款金额及年数:\n");
scanf("%f%d",&x,&n);
for(i=1;i<=n;i++)
{
x=x*(1+0.00225);
}
printf("本利之和为%f元\n",x);
return 0;
}
14、输入正整数,将正整数分解质因数。质因数要满足两个条件:①是这个数的因数;②是质数(素数)
如: 6=2*3 12=2*2*3
//输入正整数,将正整数分解质因数。质因数要满足两个条件:1)是这个数的因数;2)是质数(素数)如: 6=2*3 12=2*2*3
#include<stdio.h>
int main()
{
int num,i;
printf("请输入一个正整数:\n");
scanf("%d",&num);
printf("%d= ",num);//输入的初始值num
for(i=2;i<num;i++)
{
if(num%i == 0)
{
printf("%d*",i);
num /= i;
i = 1;
}
}
printf("%d\n",num);
return 0;
}
//1不是质数,质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
15、输出 10000 以内的所有完全数, 各个小于它的约数(真约数, 列出某数的约数, 掉该数本身,剩下的就是它的真约数)的和等于它本身的自然数叫做完全数。
例如:第一个完全数是 6,它有约数 1、 2、 3、 6,除去它本身 6 外,其余 3 个数相加,1+2+3=6。第二个完全数是 28,它有约数 1、 2、 4、 7、 14、 28,除去它本身 28 外,其余 5 个数相加, 1+2+4+7+14=28。
/*
输出 10000 以内的所有完全数, 各个小于它的约数(真约数, 列出某数的约数,去掉该数本身,
剩下的就是它的真约数)的和等于它本身的自然数叫做完全数。
例如:第一个完全数是 6,它有约数 1、 2、 3、 6,除去它本身 6 外,其余3 个数相加,1+2+3=6。
第二个完全数是 28,它有约数 1、 2、 4、 7、 14、28,除去它本身 28 外,其余 5 个数相加,1+2+4+7+14=28。
*/
#include<stdio.h>
int main()
{
int a,i;
scanf("%d",&a);
printf("%d = ",a);
for(i=2;i<a;i++)
{
loop:
if((a%i == 0) && (a != i))
{
printf("%d*",i);
a /= i;
goto loop;
}
}
printf("%d\n",a);
return 0;
}
16、写一段程序,输入 x,输出 y 值。
x x<1
y= 2x-1 1≤x<10
3x-11 x≥10
/*
写一段程序,输入 x,输出 y 值。
x x<1
y= 2x-1 1≤x<10
3x-11 x≥10
*/
#include<stdio.h>
int main()
{
float x,y;
printf("please\n");
scanf("%f",&x);
if(x<1)
{
y=x;
}
else if(x>=1 && x<10)
{
y=2*x-1;
}
else
{
y=3*x-11;
}
printf("y=%f\n",y);
return 0;
}
17、求 Sn=a+aa+aaa+……+aa..aa(n 个 a)之值,其中 a 是一个数字,n 表示 a 的位数。
例 如:2+22+222+2222+22222(此时 n=5),n 由键盘输入。
/*
求 Sn=a+aa+aaa+……+aa..aa(n 个 a)之值,其中 a 是一个数字,n 表示 a 的位数。
例如:2+22+222+2222+22222(此时 n=5),n 由键盘输入
*/
#include<stdio.h>
int main()
{
int i,a,n,num=0,sum=0;
printf("请输入一个数字及其位数:\n");
scanf("%d%d",&a,&n);
for(i=1;i<=n;i++)
{
if(i==1)
{
num=a;
}
else
{
num=num*10+a;
}
sum+=num;
printf("num=%d\n",num);
}
printf("sum=%d\n",sum);
return 0;
}
18、有一个分数序列: 2/1,3/2,5/3,8/5,13/8,21/13,... 求出这个数列的前 20 项之和。
//有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13,... 求出这个数列的前 20 项之和
#include<stdio.h>
int main()
{
int i;
float a=2,b=1,sum=0,tmp;
for(i=1;i<=20;i++)
{
sum+=a/b;
tmp=a;
a=a+b;
b=tmp;
}
printf("sum=%.2f\n",sum);
return 0;
}
19、小猴摘了很多桃子,第一天吃了一半又多吃一个,第二天又吃掉一半再多吃一个,如此下去,到第 真十天恰好还剩一个桃子。问第一天小猴摘了多少桃子?
//小猴摘了很多桃子,第一天吃了一半又多吃一个,第二天又吃掉一半再多吃一个,如此下去,到第真十天恰好还剩一个桃子。问第一天小猴摘了多少桃子?
#include<stdio.h>
int main()
{
int x=1,i;
for(i=10;i>0;i--)
{
x=(x+1)*2;
}
printf("%d\n",x);
return 0;
}
20、两个乒乓球队进行比赛,各出 3 人。甲对为 A、B、C 3 人,乙队为 X、Y、Z 3 人。已抽签决定比赛 名单。有人向队员打听比赛的名单,A 说他不和 X 比,C 说他不和 X、Z 比,编程找出 3 对赛手的 名单。
//两个乒乓球队进行比赛,各出 3 人。甲对为 A、B、C 3 人,乙队为 X、Y、Z 3 人。已抽签决定比赛名单。有人向队员打听比赛的名单,A 说他不和 X 比,C 说他不和 X、Z 比,编程找出 3 对赛手的名单
#include<stdio.h>
int main()
{
char A,B,C;
for(A='X';A<='Z';A++)
{
for(B='X';B<='Z';B++)
{
for(C='X';C<='Z';C++)
{
if(A!='X'&& C!='X'&& C!='Z'&& A!=B&& A!=C&& B!=C)
{
printf("A-%c B-%c C-%c\n",A,B,C);
}
}
}
}
return 0;
}