1.通过编程实现,统计1~n有多少个9
#include <stdio.h>
int main()
{
int n,m,k;
int i,j = 0;
printf("enter n:");
scanf("%d",&n);
for(i = 1; i <= n; i++)
{
k = i;
while(k)
{
if(k == 9)
{
j++;
}
else
{
m = k%10;
if(m == 9)
{
j++;
}
}
k/=10;
}
}
printf("1 - %d have %d 9.\n",n,j);
return 0;
}
2.有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位
#include<stdio.h>
int main()
{
int a[1000] = {0};
int s = 0;
int sum = 0;
int i = 0;
int n = 0;
printf("please input number:\n");
scanf("%d",&n);
for(i = 0;i <= n;i++)
{
a[i] = 1;
}
for(i = 1;i <= n;i++)
{
s = s + a[i];
if(s == 3)
{
s = 0;
a[i] = 0;
sum++;
}
if(i == n)
{
i = 0;
}
if(sum == n- 1)
{
for(i = 1;i <= n;i++)
{
if(a[i] == 1)
{
printf("the last one is %d\n",i);
}
}
break;
}
}
return 0;
}
3.输入5个数(含负数、小数)将它们按由小到大的顺序排列起来
#include <stdio.h>
int main()
{
float a[5];
int i,j;
float temp;
printf("please input 5 numbers: ");
for(i = 0;i < 5; i++)
{
scanf("%f",&a[i]);
}
for(i = 0;i < 5;i++)
{
for(j = i+1;j < 5;j++)
{
if(a[j] < a[i])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
printf("the result is:\n");
for(i = 0;i < 5;i++)
{
printf("%g ",a[i]);
}
printf("\n");
return 0;
}
4.求100以内的素数,全部打印出来
#include<stdio.h>
void Prime(void)
{
int i = 0;
int j = 0;
int flag = 0;
printf ("Prime numbers are : \n");
for (i = 2; i <= 100; i++)
{
for (j = 2; j < i; j++)
{
if (i % j == 0)
{
flag = 1;
break;
}
}
if (flag != 1)
{
printf ("%d ", i);
}
flag = 0;
}
}
int main()
{
Prime();
printf("\n");
return 0;
}
5.一个数如果恰好等于它的因子之和,这个数被成为”完数”,例如:6=1+2+3.请编程找出1000以内的完数
#include <stdio.h>
int wanshu(int n);
int main()
{
int m;
printf("请输入一个数:\n");
scanf("%d",&m);
ptintf("这个数的完数是:\n");
wanshu(m);
printf("\n");
return 0;
}
int wanshu(int n)
{
int i,j;
int s = 0;
int t = 0;
for(i = 1;i <= n;i++)
{
for(j = 1;j < i;j++)
{
t = i % j;
if (t == 0)
{
s += j;
}
}
if (s == i)
{
printf("%d\t",i);
}
s = 0;
}
}
#include <stdio.h>
int main()
{
int n,m,k;
int i,j = 0;
printf("enter n:");
scanf("%d",&n);
for(i = 1; i <= n; i++)
{
k = i;
while(k)
{
if(k == 9)
{
j++;
}
else
{
m = k%10;
if(m == 9)
{
j++;
}
}
k/=10;
}
}
printf("1 - %d have %d 9.\n",n,j);
return 0;
}
2.有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位
#include<stdio.h>
int main()
{
int a[1000] = {0};
int s = 0;
int sum = 0;
int i = 0;
int n = 0;
printf("please input number:\n");
scanf("%d",&n);
for(i = 0;i <= n;i++)
{
a[i] = 1;
}
for(i = 1;i <= n;i++)
{
s = s + a[i];
if(s == 3)
{
s = 0;
a[i] = 0;
sum++;
}
if(i == n)
{
i = 0;
}
if(sum == n- 1)
{
for(i = 1;i <= n;i++)
{
if(a[i] == 1)
{
printf("the last one is %d\n",i);
}
}
break;
}
}
return 0;
}
3.输入5个数(含负数、小数)将它们按由小到大的顺序排列起来
#include <stdio.h>
int main()
{
float a[5];
int i,j;
float temp;
printf("please input 5 numbers: ");
for(i = 0;i < 5; i++)
{
scanf("%f",&a[i]);
}
for(i = 0;i < 5;i++)
{
for(j = i+1;j < 5;j++)
{
if(a[j] < a[i])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
printf("the result is:\n");
for(i = 0;i < 5;i++)
{
printf("%g ",a[i]);
}
printf("\n");
return 0;
}
4.求100以内的素数,全部打印出来
#include<stdio.h>
void Prime(void)
{
int i = 0;
int j = 0;
int flag = 0;
printf ("Prime numbers are : \n");
for (i = 2; i <= 100; i++)
{
for (j = 2; j < i; j++)
{
if (i % j == 0)
{
flag = 1;
break;
}
}
if (flag != 1)
{
printf ("%d ", i);
}
flag = 0;
}
}
int main()
{
Prime();
printf("\n");
return 0;
}
5.一个数如果恰好等于它的因子之和,这个数被成为”完数”,例如:6=1+2+3.请编程找出1000以内的完数
#include <stdio.h>
int wanshu(int n);
int main()
{
int m;
printf("请输入一个数:\n");
scanf("%d",&m);
ptintf("这个数的完数是:\n");
wanshu(m);
printf("\n");
return 0;
}
int wanshu(int n)
{
int i,j;
int s = 0;
int t = 0;
for(i = 1;i <= n;i++)
{
for(j = 1;j < i;j++)
{
t = i % j;
if (t == 0)
{
s += j;
}
}
if (s == i)
{
printf("%d\t",i);
}
s = 0;
}
}