以下是计算机的笔记和课堂总结
1,键入三位整数,求各个位数之和
太简单,不写了(其中一个对100 整除,第二个对100 取余然后除以10,第
三个数直接对10 取余分别相加就可以了。)
2 , 水仙花数:
#include
#include
void main()
{
int i,j,k,n=0,x;
for(k=0;k<10;k++)
{
for(j=0;j<10;j++)
{
for(i=0;i<10;i++)
{
if((pow(i,3)+pow(j,3)+pow(k,3)==(i+j*10+k*100))&&(i+j*10+k*100)!=0)
{
n=n+1; x=i+j*10+k*100;
printf("%d\n", x);
}
}
}
}
printf("一共有%d 个水仙花数\n", n);
}
3, 1000 以内的完数
#include
void main()
{
int i,j,s;
for(j=1;j<=1000;j++)
{
s=0; /*这个必须在内循环之前加上*/
for(i=1;i
{
if(j%i==0) s=s+i;
}
if(s==j)
printf("the result is true %d\n", s);
}
}
4 , 1~~1000 之内可以被7 或者11 整除但是
又不可以同时被7 和11 整除。
#include
void main()
{
int i,n=0;
for(i=1;i<=1000;i++)
{
if(((i%7==0)||(i%11==0))&&(!((i%7==0)&&(i%11==0))))
{n=n+1;printf("%d\n", i);}
}
printf("一共有%d 个这样的数\n", n);
}
5, 输出1~~9 的乘法口诀表
#include
void main()
{
printf("小学生乘法口诀表:\n");
int i,j;
for(i=1;i<10;i++)
{
for(j=1;j<=i;j++)
{
printf("%d*%d=%d ", i,j,i*j);
}
printf("\n");
}
}
6, 搬砖头,36 个人36 快砖头,男人可以
一次搬运四块砖头,女人是3 块,两个小
孩搬一块砖头。现在要求一次性搬运完毕,
问,需要男孩多少,女孩多少,小孩多少?
#include
void main()
{
int a,b,c,n=0;
for(a=1;a<=36;a++)
{
for(b=1;b<=36;b++)
{
for(c=1;c<=36;c++)
{
if((a*4+b*3+c/2==36)&&(a+b+c==36)&&(c%2==0))
{
printf("a=%d, b=%d, c=%d\n", a,b,c);
n=n+1;
}
}
}
}
printf("一共有%d 种办法\n", n);
}
7, 计算S=1+1/(1+2)+1/(1+2+3)+……1/(1+2+3+……+n)
#include
void main()
{
float s=0,k=0,i,x;
printf("input a figure to this program\n");
scanf("%f", &x);
for(i=1;i<=x;i++)
{
k+=i;
s+=1.0/k; /*注意!!当为float 型时候必须用1.0 否则计算不出来结果!!!!!*/
}
printf("the result is %f\n", s);
}
8, 3*3 数组的对角线元素之和
#include
void main()
{
int a[3][3]={{1,2,3},{1,2,3},{1,2,3}};
int i,j,s=0;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if((i==j))
s+=a[i][j]; /*如果出现的是4*4 矩阵可以合并一起写,但分开准确,可忽略特殊状况*/
if(i+j==2) s+=a[i][j]; }
}
printf("the result is %d\n",