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