没有合适的资源?快使用搜索试试~ 我知道了~
100道经典c语言编程试题
资源推荐
资源详情
资源评论



















100 道经典 c 语言编程试题
1.输入两个正整数,m 和 n,求其最大公约数和最小公倍数。
#include<stdio.h>
void main()
{
int hcf(int,int); /*函数声明*/
int lcd(int,int,int); /*函数声明*/
int u,v,h,l;
printf("Please input two numbers:");
scanf("%d,%d",&u,&v);
h=hcf(u,v);
printf("H.C.F=%d",h);
l=lcd(u,v,h);
printf("L.C.D=%d",l);
}
int hcf(int u,int v)
{
int t,r;
if(v>u)
{t=u;u=v;v=t;}
while((r=u%v)!=0)
{u=v;v=r;}
return(v);
}
int lcd(int u,int v,int h)
{
return(u*v/h);
}
2.输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。
#include<stdio.h>
int letter,digit,space,others;
void main()
{
void count(char[]);
char text[80];
printf("Please input string:");
gets(text);
printf("string:");
puts(text);
letter=0;

digit=0;
space=0;
others=0;
count(text);
printf("letter:%d,digit:%d,space:%d,others:%d\n",letter,digit,space,others);
}
void count(char str[])
{
int i;
for(i=0;str[i]!='\0';i++)
if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))
letter++;
else if(str[i]>='0'&&str[i]<='9')
digit++;
else if(str[i]==32)
space++;
else
others++;
}
3.输入一个正整数求出它是几位数;输出原数和位数。
#include<stdio.h>
int digit;
void main()
{
void count(char[]);
char text[80];
printf("Please input numbers:\n");
gets(text);
printf("Numbers:\n");
puts(text);
digit=0;
count(text);
printf("digit:%d\n",digit);
}
void count(char str[])
{
int i;
for(i=0;str[i]!='\0';i++)
if(str[i]>='0'&&str[i]<='9')
digit++;
}
4.输入一个正整数,输出原数并逆序打印出各位数字。

#include<stdio.h>
void invertLongInt(long);
void main()
{
unsigned long iNumber;
printf("Please input a number:\n");
scanf("%ld",&iNumber);
printf("The input number is:%ld\n",iNumber);
printf("The inverse number is:");
invertLongInt(iNumber);
}
void invertLongInt(long x)
{
if(x>=0&&x<=9)
printf("%d\n",x);
else
{
printf("%d",x%10);
invertLongInt(x/10);
}
}
5.从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩及相应的序号,当
输入负数时结束输入。
6.从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入。将结果输
出。
7.求 1!+2!+3!+……+20!,将结果输出。
#include<stdio.h>
void main()
{
float s=0,t=1;
int n;
for(n=1;n<=20;n++)
{
t=t*n;
s=s+t;
}
printf("1!+2!+3!+……+20!=%e\n",s);
}
8.打印以下图案: *
***

*****
*******
#include<stdio.h>
void main()
{
int i,j;
printf("The picture is:\n");
static char picture[4][7]={{' ',' ',' ','*'},
{' ',' ','*','*','*'},{' ',' *','*','*','*','*'},{'*','*','*','*','*','*','*'}};
for(i=0;i<=3;i++)
{
for(j=0;j<=6;j++)
printf("%c",picture[i][j]);
printf("\n");
}
}
9.打印以下图案:
*
**
***
****
#include<stdio.h>
void main()
{
int i,j;
printf("The picture is:\n");
char picture[4][4]={{'*'},
{'*','*'},{' *','*','*'},{'*','*','*','*'}};
for(i=0;i<=3;i++)
{
for(j=0;j<=3;j++)
printf("%c",picture[i][j]);
printf("\n");
}
}
10.求下列试子的值:1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。
#include<stdio.h>
void main()
{
float sum=1.0,t,s=1;
int i;
for(i=1;i<=100;i++)

{
t=s/i;
sum=sum+t;
s=-s;
}
printf("1-1/2+1/3-1/4+……+1/99-1/100=%5.4f\n",sum);
}
11.打印出 100~999 之间的所有水仙花数。
#include<stdio.h>
void main()
{
int i,j,k,n;
printf("100~999 之间的所有水仙花数 are:\n");
for(n=100;n<1000;n++)
{
i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
printf("%d ",n);
}
printf("\n");
}
12.求 Sn=a+aa+aaa+…+aa…a 之值,n,a 由键盘输入。
#include<stdio.h>
void main()
{
int a,n,i=1,sn=0,tn=0;
printf("a,n=:");
scanf("%d,%d",&a,&n);
while(i<=n)
{
tn=tn+a;
sn=sn+tn;
a=a*10;
++i;
}
printf("a+aa+aaa+…+aa…a=%d\n",sn);
}
13.打印以下图案:
*******
剩余54页未读,继续阅读
资源评论


awildchild1
- 粉丝: 373
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 论基于QTP的金融软件自动化测试框架(1).docx
- 电子商务时代企业价值的创新-电子商务--本科论文(1).doc
- 数据加密技术在计算机网络通信安全中的应用(1)(1).docx
- 对互联网+时代高职英语信息化教学模式的研究(1).docx
- 关于用电检查的信息化发展分析(1).docx
- 轴类零件数控车削工艺分析及数控加工编程--大学论文(1).doc
- 基于信息化管理的医院全面预算优化策略(1).docx
- 智慧社区软件平台建设方案(1).pdf
- 工业物联网安全解决方案(1).docx
- 军人离婚协议书范本-范文网站(1).docx
- 单片机课程设计设计报告(多功能电子计算器设计)(1).doc
- 人工智能在军事领域的应用及全球治理(1).docx
- 探析电子商务成本思考(1).docx
- 地产信息化培训课件(1).ppt
- 计算机应用基础教案---计算机网络基础市公开课获奖课件省名师优质课赛课一等奖课件(1).ppt
- 新干县农村土地承包经营权数据库建设技术总结(1)(1).doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
