P1085 不高兴的津津
#include <stdio.h>int main( )
{
int a,b;
int max=0;
int result; for (int i = 0; i < 7; ++i)
{
scanf("%d %d",&a,&b);
if ((a+b>8) && (a+b>max))
{
max = a+b;
result = i+1 ;
} }
printf("%d",result);
return 0;
}
斐波那契(兔子问题)
#include<stdio.h>int fib(int n)
{
if(n ==1)
{
return 1;
}
if(n ==2)
{
return 1;
}
else{
return fib(n-1)+fib(n-2);
}
}int main()
{
for (int i = 0; i < 40; ++i) {
printf("%d, ",fib(i+1));
if((i+1)%10==0)
{
printf("\n");
}
}
return 0;
}
1, 1, 2, 3, 5, 8, 13, 21, 34, 55,
89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765,
10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040,
1346269, 2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169, 63245986, 102334155,
将一个正整数分解质因数
#include<stdio.h>/*
对n进行分解质因数,应先找到一个最小的质数k=2,然后按下述步骤完成:
(1)如果这个质数恰等于(小于的时候,继续执行循环)n,则说明分解质因数的过程已经结束,另外 打印出即可。
(2)但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n.重复执行第二步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
*/int main()
{
int min_num=2,num;
scanf("%d",&num);
if (num==min_num)
{
printf("%d = %d",min_num,min_num);
}
else{
printf("%d = ",num);
while (1)
{ if (num%min_num==0 && num/min_num!=0)
{
num = num/min_num;
printf("%d*",min_num);
}
if (num%min_num!=0 && num/min_num!=0)
{
min_num += 1;
}
if(num%min_num==0 && num/min_num==1)
{
printf("%d",min_num);
break;
}
}
}
return 0;
}
90
90 = 2*3*3*5
Process finished with exit code 0
统计字符
#include<stdio.h>
int main() //没想出其它的方法,本来想用in,但是c好像没有
{
char c;
int letters=0,spaces=0,digits=0,others=0;
printf("请输入一些字母:\n");
while((c=getchar())!='\n')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) //字符是可以比较大小的
letters++;
else if(c>='0'&&c<='9') //这里输入的数字也是字符型数字
digits++; //C语言中。'0'的ASCLL码是48;0的ASCLL码是0
else if(c==' ')
spaces++;
else
others++;
}
printf("字母=%d,数字=%d,空格=%d,其他=%d\n",letters,digits,spaces,others);
return 0;
}
控制循环
#include<stdio.h>
#include <math.h>int getNumber(int base,int time);int main()
{
int base,time;
int result=0,sum=0;
scanf("%d %d",&base,&time); for (int i = 0; i < time; ++i)
{
result += getNumber(base,i+1);
}
printf("%d",result);
return 0;
}int getNumber(int base,int time)
{
int sum=0; for (int i = 0; i < time; ++i)
{
sum += base*(pow(10,i));
}
return sum;
}
2 5
24690
Process finished with exit code 0
回文数
#include <stdio.h>int main()
{
int number;
int ge,shi,qian,wan; printf("输入五位数:");
scanf("%d",&number);
wan = number/10000;
qian = number%10000/1000;
shi = number%100/10;
ge = number%10;
if (wan=ge && qian&&shi)
{
printf("True");
} else
{
printf("False");
}
return 0;
}