华电C语言题库(循环中等难度)
循环
#include `
`#include <string.h>`
`void main()`
`{`
`int m, n,i,j,k=0,l;`
`scanf_s("%d%d", &m, &n);`
`if (m < 2)m = 2;`
`for (i = m,l=0; i <= n; i++)`
`{`
`for (j = 2; j < i; j++)`
`{`
`if(i%j==0)`
`{`
`k = 1;`
`break;`
`}`
`}`
`if (k == 0)`
`{`
`printf("%5d", i);`
`l++;`
`if (l % 5 == 0)printf("\n");`
`}`
`else`
`{`
`k = 0;`
`}`
`}`
`}`
#include
#include
void main()
{
int a,m,n,i;
scanf_s("%d", &a);
for (m = 1, n = 1,i=1; m < a||n<a;i++)
{
if (i % 2 == 1)
{
printf("%d ", m);
m = m + n;
}
if (i % 2 == 0)
{
printf("%d ", n);
n = m + n;
}
}
}
#include
int main()
{
int i,j,z;
for (i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
if (i==j)continue;
for(z=1;z<=4;z++)
{
if(i==z||j==z)continue;
printf("%d,%d,%d\n",i,j,z);
}
}
}
return 0;
}
#include
int main(void)
{
int car,i;
int a[4];
for(car=1;car<=4;car++)
{
a[0]=(car==2);
a[1]=(car==4);
a[2]=(car!=3);
a[3]=(car!=4);
if(a[0]+a[1]+a[2]+a[3]==1)
{
printf("最好赛车编号为%d\n",car);
for(i=0;i<=3;i++)
{
if(a[i]) printf("说对的专家为%c",'A'+i);
}
}
}
return 0;
}
编写程序利用公式:ex=1+x+x2/2!+x3/3!+…+xn/n!求的近似值。
找出并改正以下源程序中错误,得出正确的运行结果。
源程序如下:
#include
#include
void main()
int i;
float a,e,x;
printf("请输入x的值:");
scanf("%d",&x);
e=0;
i=0;
a=1;
while(a>1e-6);
{
a=a*x/i;
e=e+a;
i++;
}
printf("exp(x)=%f\n",exp(x));
printf("循环次数为:%d次,e的x次方为:%f\n",i,e);
程序正确的运行结果为:
1.0
exp(x)=2.718282
循环次数为:11次,e的x次方为:2.718282
Press any key to continue
#include
#include
int main()
{
int i;
float a,e,x;
scanf("%f",&x);
e=1;
i=1;
a=1;
while(a>1e-6)
{
a=a*x/i;
e=e+a;
i++;
}
printf("exp(x)=%f\n",exp(x));
printf("循环次数为:%d次,e的x次方为:%f\n",i,e);
return 0;
}
#include
#include
int select(int i);
int main()
{
int i,j,k,m;
for(i=1;i<10000;i++)
{
j=i+100;
k=i+268;
m=select(j)+select(k);
if(m==2)printf("%d\n",i);
}
return 0;
}
int select(int i)
{
int c=0;
int j;
for(j=0;j<100;j++)
{
if(i==j*j)
{
c=1 ;
}
}
return c;
}
#include
#include
void main()
{
int a, i,c, j, k, b[10] = { 0 };
scanf_s("%d", &a);
c = a;
i = 2;
j = 0;
while (i<=a)
{
if (a % i == 0)
{
a = a / i;
b[j] = i;
j++;
i = 2;
}
else { i++; }
}
for (k = 0; b[k] != 0; k++)
{
if (k== 0)printf("%d=%d",c, b[k]);
else
{
printf("*%d", b[k]);
}
}
}
#include
int main()
{
int i, j, sum = 0;
for (i = 2; i <= 1000; i++)
{
for (j = 1; j < i; j++)
{
if (i % j == 0)
{
sum = sum + j;
}
}
if (sum == i)
{
printf("%d \n", i);
}
sum = 0;
}
return 0;
}
#include
int main()
{
int i, a,b,c, sum = 0;
for (i=100;i<1000;i++)
{
a = i % 10;
b = (i - a) / 10 % 10;
c = i / 100;
if (i == a * a * a + b * b * b + c * c * c)printf("%d ", i);
}
return 0;
}
#include
#include
int main()
{
int a, n,i,j=0,num=0;
scanf_s("%d%d", &a, &n);
for (i = 1;log10(i)<n ; i*=10)
{
j += (a * i);
num += j;
}
printf("sum=%d", num);
}
#include
int main()
{
int m, n,temp,r,p;
scanf("%d,%d", &m, &n);
if (m < n)
{
temp = m;
m = n;
n = temp;
}
r = m % n;
p = m * n;
while (r != 0)
{
m = n;
n = r;
r = m % n;
}
printf("最大公约数是%d\n", n);
printf("最小公倍数是%d\n", p / n);
}