完成作业
3、求100以内的素数,全部打印出来
#include <stdio.h>
int prime(int i)
{
int k;
for (k=2;k<i;k++)
{
if (i%k==0)
return 0;
}
return 1;
}
int main()
{
int i,m;
printf("Prime from 1 to 100 are:\n");
for (i=2;i<=100;i++)
{
m=prime(i);
if (m==1)
printf("%d\n",i);
}
return 0;
}
4、编写一个程序,求出满足下列条件的四位数:该数是个完全平方数,且第一、三位数字之和为10,第二、四位数字之积为12
#include <stdio.h>
int per(int n)
{
int i;
for (i=1;i<n;i++)
{
if (n==i*i)
return n;
}
return 0;
}
int fun(int m)
{
int i,t;
t=m;
int a[4]={0};
for (i=3;i>=0;i--)
{
a[i]=(m%10);
m=m/10;
}
if ((a[0]+a[2]==10)&&(a[1]*a[3]==12))
return t;
else
return 0;
}
int main()
{
int n,m,p;
for(n=1000;n<=9999;n++)
{
m=per(n);
if (m)
{
p=fun(m);
if (p)
printf("%d\n",p);
}
}
return 0;
}
5、快速找出一个数组中的最大数、第二大数。(笔试题)
#include <stdio.h>
int main()
{
int a[5],i,j,t;
printf("Please input 5 numbers: \n");
for (i=0;i<5;i++)
{
scanf("%d",&a[i]);
}
for (j=0;j<4;j++)
for(i=0;i<4-j;i++)
{
if(a[i]<a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
printf("The biggest numbers are %d and %d",a[0],a[1]);
return 0;
}
6、通过编程实现,统计1~n有多少个9?(提示:n通过参数传入)
#include <stdio.h>
int num(int n)
{
int t,i,p=0;
while (n)
{
if (n % 10 == 9)
p++;
n = n / 10;
}
return p;
}
int count(int n)
{
int i = 1, sum = 0;
for (;i <= n; i++)
{
//printf("i = %d num = %d\n", i, num(i));
sum += num(i);
}
return sum;
}
int main()
{
int n,b;
printf("Please input n:\n");
scanf("%d",&n);
b = count(n);
printf("There are %d 9 in numbers.\n",b);
return 0;
}
错误
定义数组时需要按照实际元素个数来定义,不需要减一。
取位的时候容易忘记赋值
段错误是指针错误 地址访问错误
今天差点被罚款10块,文件不能用数字命名哦。我是目录用数字命名的,虽然没有错不过以后还是需要注意。
今天编程效率好低,主要是刚上手,错误率和效率都比较低。
正确率方面,以后得想好了再编写。
而效率方面,还是得多练习吧,熟能生巧。希望可以掌握更多的技巧。