基于C语言的几道算法例题
来源:互联网 发布:网络教育可以考研吗 编辑:程序博客网 时间:2024/06/06 13:10
1. 题目:通过编程实现,统计1~n有多少个9
程序:
#include <stdio.h>
int main(int k,char *a[]) //该程序参数,K用来计算参数个数,a用来保存参数
{
if (k!=2) //当该程序参数不为1时,k不等于2,提示错误并结束
{
printf ("error\n");
return 0;
}
int b,i,c=1,d=0,nine=0;
for (i=0;a[c][i]!='\0';i++) //使字符串参数转化成实形数
{
b=a[c][i]-'0';
d=d*10+b;
}
printf ("you enter is %d\n",d); //确认输入的n是否正确
for (i=0;i<=d;i++) //1到N都循环一遍
{
for (b=i;b>0;b=b/10) //取i的各个位数
{
c=b%10; //确认该位数是否为9,是的nine数加一
if (c==9)
nine++;
}
}
printf ("it's 9 has %d\n",nine);//输出9的个数
return 0;
}
int main(int k,char *a[]) //该程序参数,K用来计算参数个数,a用来保存参数
{
if (k!=2) //当该程序参数不为1时,k不等于2,提示错误并结束
{
printf ("error\n");
return 0;
}
int b,i,c=1,d=0,nine=0;
for (i=0;a[c][i]!='\0';i++) //使字符串参数转化成实形数
{
b=a[c][i]-'0';
d=d*10+b;
}
printf ("you enter is %d\n",d); //确认输入的n是否正确
for (i=0;i<=d;i++) //1到N都循环一遍
{
for (b=i;b>0;b=b/10) //取i的各个位数
{
c=b%10; //确认该位数是否为9,是的nine数加一
if (c==9)
nine++;
}
}
printf ("it's 9 has %d\n",nine);//输出9的个数
return 0;
}
运行结果展示:
2. 题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.
#include<stdio.h>
int main()
{
int n,i,d=0,k=0;
printf ("Enter N\n:"); //提示输入N的值
scanf("%d",&n); //得到N的值
int a[n]; //设N个数放进数组
for (;1==1;) //死循环直到只剩一人
{
for (i=0;i<n;i++) //从一号开始检测
{
if (a[i]!=1) //当这个人没有被移除,则数数
{
if (d==3) //当他数到三则被移除
{
d=0;
a[i]=1;
k++; //计算移除人数
}
else if (d!=3) //当这个人没有数到三,则继续
d++;
else
printf ("error"); //如果数到三以外则提示错误
}
if (k!=(n-1)) //当只剩一个人时跳出循环
continue;
break;
}
if (k!=(n-1)) //当只剩一个人时跳出死循环
continue;
break;
}
for (i=0;i<n;i++) //检测N个人里是谁存活
{
if (a[i]!=1)
printf(" n=%d\n",i+1);
}
return 0;
}
{
int n,i,d=0,k=0;
printf ("Enter N\n:"); //提示输入N的值
scanf("%d",&n); //得到N的值
int a[n]; //设N个数放进数组
for (;1==1;) //死循环直到只剩一人
{
for (i=0;i<n;i++) //从一号开始检测
{
if (a[i]!=1) //当这个人没有被移除,则数数
{
if (d==3) //当他数到三则被移除
{
d=0;
a[i]=1;
k++; //计算移除人数
}
else if (d!=3) //当这个人没有数到三,则继续
d++;
else
printf ("error"); //如果数到三以外则提示错误
}
if (k!=(n-1)) //当只剩一个人时跳出循环
continue;
break;
}
if (k!=(n-1)) //当只剩一个人时跳出死循环
continue;
break;
}
for (i=0;i<n;i++) //检测N个人里是谁存活
{
if (a[i]!=1)
printf(" n=%d\n",i+1);
}
return 0;
}
运行结果展示
3. 题目:输入5个数(含负数、小数)将它们按由小到大的顺序排列起来
#include<stdio.h>
#include<stdlib.h>
main(int k,char *a[])
{
double b,x[100];
int i,g,l,m=0,n;
for (i=0;i<(k-1);i++)
{
sscanf (a[i+1],"%lf",&x[i]); //将参数转化成浮点型
}
for(i=0;i<(k-1);i++)
printf ("%g,",x[i]); //输出参数,确认是否输错
for (;1==1;) //排序
{
m=0;
for(i=0;i<(k-2);i++)
{
if(x[i]>x[i+1])
{
m++;
n=x[i];
x[i]=x[i+1];
x[i+1]=n;
}
}
if(m!=0)
continue;
break;
}
for(i=0;i<(k-1);i++) //输出从小到大的排序
printf("%g\n",x[i]);
return 0;
}
#include<stdlib.h>
main(int k,char *a[])
{
double b,x[100];
int i,g,l,m=0,n;
for (i=0;i<(k-1);i++)
{
sscanf (a[i+1],"%lf",&x[i]); //将参数转化成浮点型
}
for(i=0;i<(k-1);i++)
printf ("%g,",x[i]); //输出参数,确认是否输错
for (;1==1;) //排序
{
m=0;
for(i=0;i<(k-2);i++)
{
if(x[i]>x[i+1])
{
m++;
n=x[i];
x[i]=x[i+1];
x[i+1]=n;
}
}
if(m!=0)
continue;
break;
}
for(i=0;i<(k-1);i++) //输出从小到大的排序
printf("%g\n",x[i]);
return 0;
}
运行结果展示
4. 题目:求100以内的素数,全部打印出来
#include<stdio.h>
int main()
{
int m,n=0,i,k,l;
for (i=2;i<101;i++) //从2到100 逐个判断
{
n=0;
for (m=2;m<i;m++) //判断有多少次整除
{
if(i%m==0)
n++;
}
if(n==0) //0次整除就是素数
printf ("%d,",i);
}
}
int main()
{
int m,n=0,i,k,l;
for (i=2;i<101;i++) //从2到100 逐个判断
{
n=0;
for (m=2;m<i;m++) //判断有多少次整除
{
if(i%m==0)
n++;
}
if(n==0) //0次整除就是素数
printf ("%d,",i);
}
}
运行结果展示
5 题目: 一个数如果恰好等于它的因子之和,这个数被成为”完数”,例如:6=1+2+3.请编程找出1000以内的完数
#include<stdio.h>
int main()
{
int i,m,n;
for (i=1;i<1001;i++) //1到1000开始判断,0不是完数
{
m=0;
for (n=1;n<i;n++)
{
if (i%n==0)
m=m+n; //因子相加
}
if (m==i) //输出完数
printf ("%d,",i);
}
return 0;
}
int main()
{
int i,m,n;
for (i=1;i<1001;i++) //1到1000开始判断,0不是完数
{
m=0;
for (n=1;n<i;n++)
{
if (i%n==0)
m=m+n; //因子相加
}
if (m==i) //输出完数
printf ("%d,",i);
}
return 0;
}
结果展示
阅读全文
1 0
- 基于C语言的几道算法例题
- 几道典型的递归算法例题
- C语言例题首字母判断星期几
- C语言的简单例题
- C语言的指针例题
- C语言指针的例题
- c语言的一些例题
- C语言经典例题简单算法
- C语言字符串数组的例题
- C语言的经典设计例题
- C语言字符串的经典例题
- C语言的简单小例题程序
- C语言例题1:
- C语言例题2:
- C语言例题3:
- C语言例题4:
- C语言例题5:
- C语言例题6:
- zoj1167 Trees on the Level 数据结构
- 一个非常有用的函数——COALESCE
- bzoj 2440 完全平方数(容斥)
- Jquery基础之DOM操作
- 【“盛大游戏杯”第15届上海大学程序设计联赛 H】【水题预处理】调和序列
- 基于C语言的几道算法例题
- DELL R730 iDRAC与IPMI的使用
- Linux学习笔记 --- xxx is not in the sudoers file
- hbase集群安装
- 基于CyberGarage库的dlna开发(android)
- window10 系统上 ecplise 环境搭建
- 大数据笔记
- 1 使用Web2Py框架搭建网站
- 如何完成非理想化测试工作?