1. 有1、2、3、4个数字,能组成多少个互不相同且无重复的三位数?分别是多少?
#include <stdio.h>
int main(){
int i,j,k;
printf("\n");
for(i=1;i<5;i++){
for(j=1;j<5;j++){
for(k=1;k<5;k++){
if(i!=j&&j!=k&&i!=k){
printf("%d,%d,%d",i,j,k);
printf("\n");
}
}
}
};
return 0;
}
2. 一个整数,它加上100后是一个完全平方数,加上168又是一个完全平方数,请问该数是多少?
#include "math.h"
#include "stdio.h"
int main(){
long int i,a,b,x,y;
for(i=1;i<100000;i++){
a = i+100;
b = i+168;
// 注意转换类型,否则报错
x = sqrt((float)a);
y = sqrt((float)b);
if(x*x ==a && y*y==b){
printf("\n%ld\n",i);
}
};
return 0;
}
3. 企业发放的奖金根据利润提成。利润低于或等于10万元时按10%提成;利润在10万到20万之间的部分按7.5%提成;利润在20万到40万之间的部分按5%提成;利润在40万到60万之间的部分按3%提成;利润在60万到100万之间的部分按1.5%提成;高于100万的部分按1%提成。从键盘输入当月利润,求应发放奖金总数?
#include "stdio.h"
int main(){
int bonus;
int bonus1 = 100000*0.1;
int bonus2 = bonus1 + (200000-100000)*0.075;
int bonus4 = bonus2 + (400000-200000)*0.05;
int bonus6 = bonus4 + (600000-400000)*0.03;
int bonus10 = bonus6 +(1000000-600000)*0.015;
long int i;
scanf("%ld",&i);
if(i<=100000){
bonus = i*0.1;
}else if(i<=200000){
bonus = bonus1+(i-100000)*0.075;
}else if(i<=400000){
bonus = bonus2+(i-200000)*0.05;
}else if(i<=600000){
bonus = bonus4+(i-400000)*0.03;
}else if(i<=1000000){
bonus = bonus6+(i-600000)*0.015;
}else{
bonus = bonus10+(i-1000000)*0.01;
};
printf("bonus=%d",bonus);
return 0;
}
4. 输入某年某月某日,判断这一天是这一年的第几天?
#include "stdio.h"
int main(){
int year ,month,day,sum;
printf("\n 请输入年月日 \n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month){
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=31+28;break;
case 4:sum=31+28+31;break;
case 5:sum=31+28+31+30;break;
case 6:sum=31+28+31+30+31;break;
case 7:sum=31+28+31+30+31+30;break;
case 8:sum=31+28+31+30+31+30+31;break;
case 9:sum=31+28+31+30+31+30+31+31;break;
case 10:sum=31+28+31+30+31+30+31+31+30;break;
case 11:sum=31+28+31+30+31+30+31+31+30+31;break;
case 12:sum=31+28+31+30+31+30+31+31+30+31+30;break;
default:printf("input error");break;
};
sum = sum+day;
if(year%400==0 || (year%4==0&&year%100!=0)){
if(month>2){
sum++;
};
};
printf("当前是第%d天",sum);
return 0;
}
5. 输入三个整数,把这三个数由小到大输出。
#include "stdio.h"
int main() {
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if(x>y){
t=x;x=y;y=t;
};
if(x>z){
t=x;x=z;z=t;
};
if(y>z){
t=y;y=z;z=t;
};
printf("small to big:%d,%d,%d",x,y,z);
return 0;
}
6. 输出九九乘法口决表。
#include "stdio.h"
int main() {
int i,j,result;
for(i=1;i<10;i++){
for(j=1;j<=i;j++){
result = i*j;
printf("%d*%d=%-3d",i,j,result);
};
printf("\n");
}
return 0;
}
7. 输出国际象棋棋盘。
#include "stdio.h"
int main() {
int i,j;
for(i=0;i<8;i++){
for(j=0;j<8;j++){
if((i+j)%2==0){
printf("️");
}else{
printf(" ");
};
};
printf("\n");
}
return 0;
}
8. 古典问题:有一对兔子,从出生第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数是多少?
分析:前两个数之和为第三个数的值,即有名的斐波那契数列。
#include "stdio.h"
int main(){
int i;
long f1, f2;
f1 = f2 = 1;
for (i = 1; i < 20; i++){
printf("%12ld%12ld", f1, f2);
// 每行4个,然后换行
if(i%2==0){
printf("\n");
};
f1=f1+f2;
f2=f1+f2;
}
return 0;
}
9. 判断2到200之间有多少个素数,并输出所有素数。
分析:判断素数的方法,用一个数分别去除2到这个数的开平方,如果能被整除,则表明此数不是素数,反之是素数。
#include "math.h"
#include "stdio.h"
int main(){
int h=0,leap=1;
for(int m=2;m<200;m++){
int k=sqrt(m);
for(int i=2;i<=k;i++){
if(m%i==0){
leap=0;
break;
}
};
if(leap){
printf("%d\n",m);
h++;
};
leap=1;
};
printf("素数一共有%d个\n",h);
return 0;
}
10. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153等于1的三次方加上5的三次方加上3的三次方。
#include "stdio.h"
int main(){
int i,j,k,n;
for(n=100;n<1000;n++){
// 分解出百位数
i = n/100;
// 分解出十位数
j = n/10%10;
// 分解出个位数
k = n%10;
if((i*100+j*10+k)==(i*i*i+j*j*j+k*k*k)){
printf("%-5d",n);
}
}
return 0;
}
11. 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
分析:对n进行分解质因数,应先找到最小的质数i,然后按下步骤执行:
(1). 如果这个质数等于n,则说明分解质数的过程已经结束,打印出即可;
(2). 如果n不等于i,但n能被i整除,则应打印出i的值,并用n除以i的商,作为新的正整数n,重复执行;
(3). 如果n不能被i整除,将i+1作为新的i值与n进行相除计算;
#include "stdio.h"
int main(){
int n,i;
scanf("%d",&n);
printf("%d=",n);
for(i=2;i<n;i++){
while (n!=i){
if(n%i==0){
printf("%d*",i);
n=n/i;
}else{
break;
}
}
}
printf("%d\n",n);
return 0;
}
12. 输入两个正整数m和n,求其最大公约数和最小公倍数。
#include "stdio.h"
int main(){
int n,m,temp;
int p,r;
printf("please input tow number\n");
scanf("%d,%d", &n,&m);
// 把大数放在n中,把小数放在m中.
if(n<m){
temp = n;
n = m;
m = temp;
};
p=n*m;
// 欧几里德算法
// 100 模 60 余 40
// 60 模 40 余 20
// 40 模 20 余0
// 20 即为最大公约数
while (m!=0){
r = n%m;
n = m;
m = r;
};
printf("最大公约数是%d\n",n);
// 两数乘积除以最大公约数即为最小公倍数
printf("最小公倍数是%d\n",p/n);
return 0;
}
13. 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
分析:利用while语句,条件为输入的字符不为'\n'。
#include "stdio.h"
int main(){
char c;
int letters=0,space=0,digit=0,others=0;
printf("please input some words:\n");
while ((c=getchar())!='\n'){
// 字符
if(c>='a'&&c<='z'|| c>='A'&& c<='Z'){
letters++;
// 空格
}else if(c==32){
space++;
// 数字
}else if(c>='0' && c<='9'){
digit++;
// 其它
}else{
others++;
}
};
printf("char=%d space=%d,digit=%d,others=%d",letters,space,digit,others);
return 0;
}
14. a+aa+aaa+aaaa+a...a的值,其中a是一个数字,几个数相加由键盘来控制。
#include "stdio.h"
int main(){
int a,n,count=1;
long int sn=0,tn=0;
printf("please input a and n\n");
scanf("%d,%d",&a,&n);
printf("a=%d,n=%d",a,n);
// n 为位数
while (count<=n){
tn = tn+a; // 0+2,2+20,22+200
a = a*10; // 2*10,20*10,200*10
sn = sn+tn; // 0+2,2+22,2+22+222
++count;
};
printf("result is %ld\n",sn);
return 0;
}
15. 一个数恰好等于它的因子之和,这个数就是一个“完数”。例如6=1+2+3,编程求出1000以内的所有完数。
#include "stdio.h"
int main(){
int m,i,s;
for(m=1;m<=10000;m++){
s=0;
// 求出该数的因子之和
for(i=1;i<m;i++){
if(m%i==0){
s=s+i;
}
};
// 因子数等于当前数
if(s==m){
printf("%d\n",m);
}
}
return 0;
}
16. 一球从100米高度自由落下,每次落地反跳回原高度的一半,再落下,求它在第10次落地时,共经过多少米?第10次反弹多高。
#include "stdio.h"
int main(){
float total = 100.0, harf = total / 2;
for (int n = 2; n <= 10; n++){
total = total + 2 * harf;
harf = harf / 2;
};
printf("第10次落地时共经过米数为%f\n",total);
printf("第10次反弹高度为%f\n",harf);
return 0;
}
17. 猴子吃桃问题:猴子第一天吃下若干个桃子,当即吃下一半,还不过瘾,又多吃了一个,第二天又将剩下的桃子吃了一半,又多吃了一个,以后每天都吃前一天剩下的一半零一个,到第10天想早上再吃时,只剩下一个桃子了。求第一天一共摘了多少个桃子?
#include "stdio.h"
int main(){
int day,x1,x2;
// 第9天吃完只剩一个桃了
day=9;x2=1;
while (day>0){
// 第一天的桃子数是第二天的桃子数加1的2倍
x1=(x2+1)*2;
x2=x1;
day--;
};
printf("第10天一共摘了%d",x2);
return 0;
}
18. 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,已队为x,y,z三人,由抽签决定比赛。有人向队员打听比赛的的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
#include "stdio.h"
int main(){
// 假设i是a的对手,j是b的对手,k是c的对手
char i,j,k;
for(i='x';i<='z';i++){
for(j='x';j<='z';j++){
for(k='x';k<='z';k++){
// 自己的队友不会比
if(i!=j && i!=k && j!=k){
// a不和x比,c不和x,z比
if(i!='x' && k!='x' && k!='z'){
printf("a--%c\tb--%c\tc--%c\n",i,j,k);
// a--z b--x c--y
}
}
}
}
}
return 0;
}
19. 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之知。
#include "stdio.h"
int main(){
int n,t,number = 20;
float a =2,b=1,s=0;
for(n=1;n<=number;n++){
s=s+a/b;
t=a;a=a+b;b=t;
};
printf("这些序列数之和为%9.6f\n",s);
return 0;
}
20. 求1+2!+3!+4!+...+20!的和。
#include "stdio.h"
int main(){
float n,s=0,t=1;
for(n=1;n<20;n++){
t*=n;
s+=t;
printf("%f\n",t);
}
printf("%f\n",s);
return 0;
}
21. 利用递归法求5!。
#include "stdio.h"
int fact(int n){
if(n==0){
return 1;
};
return n*fact(n-1);
}
int main(){
int result = fact(5);
printf("%d\n",result);
return 0;
}
22. 利用递归函数的调用方式,将所输入的5个字符,以相反的顺序打印出来。
#include "stdio.h"
void reversal(int n){
char next= getchar();
if(n<=1){
printf("输入完毕\n");
}else{
reversal(n-1);
};
putchar(next);
}
int main(){
// 递归调用,由内向外释放
reversal(5);
printf("\n逆置完毕\n");
return 0;
}
23. 有5个人坐在一起,第5个人比第4个人大2岁,第4个人比第3个人大2岁,第3个人比第2个人大2岁,第2个人又比第1个人大2岁,第1个人为10岁,请问第5个人多少岁?
分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第5个人岁数,需要知道第4个人的岁数,依次类推,推到第一个人,再回推。
#include "stdio.h"
int getAge(int n){
int c;
if(n==1){
c=10;
}else{
c=getAge(n-1)+2;
};
return c;
}
int main(){
int age = getAge(5);
printf("%d\n",age);
return 0;
}
24. 输入一个不多于5位数的正整数,求出它是几位数并逆序打印出各位数字。
#include "stdio.h"
int main(){
long a,b,c,d,e,x;
scanf("%ld",&x);
a = x/10000; // 分解出万位
b = x%10000/1000; // 分解出千位
c = x%1000/100; // 分解出百位
d = x%100/10; // 分解出十位
e = x%10; // 分解出个位
if(a!=0){
printf("there are 5 number:%ld,%ld,%ld,%ld,%ld\n",e,d,c,b,a);
}else if(b!=0){
printf("there are 4 number:%ld,%ld,%ld,%ld\n",e,d,c,b);
}else if(c!=0){
printf("there are 3 number:%ld,%ld,%ld\n",e,d,c);
}else if(d!=0){
printf("there are 2 number:%ld,%ld\n",e,d);
}else if(e!=0){
printf("there are 1 number:%ld\n",e);
};
return 0;
}
25. 一个5位数,判断它是不是回文数。即12321是一个回文数,个位与万位相同,十位与千位相同。
#include "stdio.h"
int main(){
long a,b,c,d,e,x;
scanf("%ld",&x);
a = x/10000; // 分解出万位
b = x%10000/1000; // 分解出千位
c = x%1000/100; // 分解出百位
d = x%100/10; // 分解出十位
e = x%10; // 分解出个位
if(a==e && b==d){
printf("这是一个回文数\n");
}else{
printf("这不是一个回文数\n");
};
return 0;
}
文章浏览阅读5.8k次,点赞7次,收藏35次。只要random.seed( * ) seed里面的值一样,那随机出来的结果就一样。所以说,seed的作用是让随机结果可重现。也就是说当我们设置相同的seed,每次生成的随机数相同。如果不设置seed,则每次会生成不同的随机数。使用同一个种子,每次生成的随机数序列都是相同的。_numpy random
文章浏览阅读424次。视频地址:http://v.youku.com/v_show/id_XNjI3NjMzOTI4.html?f=20609548_旺旺老师javase
文章浏览阅读1.8k次。先从 TextBox 控件 说起,TextBox控件是输入框,类似于html中的 标签,_windows控件taxtbox password
文章浏览阅读100次。朋友不允许朋友写用户身份验证。 厌倦了管理自己的用户? 立即尝试Okta的API和Java SDK。 在几分钟之内即可对任何应用程序中的用户进行身份验证,管理和保护。 如今,使用Java和Spring Boot开发微服务架构非常流行。 它绝对是Java生态系统中最受欢迎的组合之一。 如果需要任何证据,只需看看过去几年出现的所有类似框架:MicroProfile,Micronaut和Quar..._jhipster mvn jib
文章浏览阅读6.9w次,点赞325次,收藏700次。一个愿意伫立在巨人肩膀上的农民......_matlab2023b
文章浏览阅读1.3k次。问题描述:在做了配置变更之后,server启动不起来。还原配置,依然存在这启动故障。this is the log :[8/23/15 12:09:20:276 CST] 00000001 WsServerImpl E WSVR0009E: Error occurred during startupcom.ibm.ws.exception.RuntimeError: o..._关键点恢复期间捕捉到异常!com.ibm.ws.recoverylog.spi.internallogexception
文章浏览阅读554次。Episode 61 of The SitePoint Podcast is now available! This week your hosts are Patrick O’Keefe (@iFroggy), Stephan Segraves (@ssegraves), and Kevin Yank (@sentience). SitePoint Podcast的 第61集现已发布! 本周的...
文章浏览阅读775次。反病毒引擎设计创建时间:2003-10-02文章属性:转载文章提交:NJUE (admin_at_ourmm.com)本文将对当今先进的病毒/反病毒技术做全面而细致的介绍,重点当然放在了反病毒上,特别是虚拟机和实时监控技术。文中首先介绍几种当今较为流行的病毒技术,包括获取系统核心态特权级,驻留,截获系统操作,变形和加密等。然后分五节详细讨论虚拟机技术:第一节简单介绍一下虚拟
文章浏览阅读1w次。此blog停止更新,请访问最新域名 http://blog.lokizone.com_域名访问升级紧急中拿笔记好
文章浏览阅读1.1w次,点赞8次,收藏23次。角色控制器 (Character Controller)一、简介角色控制器(Character Controller)主要用于对第三人称或第一人称游戏主角的控制。如果要创建类人角色,可使用角色控制器 (Character Controller)。这可以是第三人称游戏 (Third Person Platformer) 中的主角色、FPS 射击者或任何敌人角色。二、基本概念第三人称游戏中的这..._charactercontroller
文章浏览阅读9.2k次,点赞14次,收藏103次。SpringBean生命周期详解一、简述:Spring是我们每天都在使用的框架,Bean是被Spring管理的Java对象,是Spring框架最重要的部分之一,那么让我们一起了解一下Spring中Bean的生命周期是怎样的吧二、流程图我们先从宏观的角度看一下Spring的生命周期:![在这里插入图片描述](https://img-blog.csdnimg.cn/20201028174058916.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5_springbean生命周期详解
文章浏览阅读210次。“我不满意,我不想等待,我也不再推诿,我要站出来做一点什么。我要做的事,就在此时,就在此刻,就在此地,就在此生”。自离职央视后,沉寂许久的知名记者、主持人柴静昨日携个人视频新作 《穹顶之下》宣告归来,并在短时间内引起广泛关注。生活在这个地球上,空气质量的好坏决定这我们的健康,每个人都希望能够呼吸新鲜空气,都希望抬起头看到的是蓝天和白云,而不是灰蒙蒙的雾霾。说到雾霾,我们用TWaver GIS实现..._twaver.controls.borderpane