c语言习题解.docx
- 文档编号:24671715
- 上传时间:2023-05-30
- 格式:DOCX
- 页数:17
- 大小:18.08KB
c语言习题解.docx
《c语言习题解.docx》由会员分享,可在线阅读,更多相关《c语言习题解.docx(17页珍藏版)》请在冰豆网上搜索。
c语言习题解
编写一个程序,输出当年当月的月历。
#include
main()
{intyear,month,leap=0,days,mfirst=0,one,i;
scanf("%d%d%d",&year,&month,&one);
if(year%4==0&&year%100!
=0||year%400==0) leap=1;
for(i=1;i<=month;i++)
{
switch(i){
case1:
case3:
case5:
case7:
case8:
case10:
case12:
days=31;break;
case2:
if(leap==1) days=29;
else days=28;
break;
case4:
case6:
case9:
case11:
days=30;break;
}
mfirst+=days;
}
mfirst-=days;
mfirst=mfirst+one;
mfirst=mfirst%7;
printf("days=%d\n",days);
printf("Sun\tMon\tTue\tWed\tThu\tFri\tSat\n");
for(i=1;i<=mfirst;i++)
{
printf("\t");
}
for(i=1;i<=days;i++)
{if(mfirst%7==0)printf("\n");
printf("%d\t",i);
mfirst++;
}
getch();
}
P596输入100个数,统计其中偶数的平均值
#include
main()
{
inti,j,sum=0,count=0;
for(i=1;i<=100;i++)
{
scanf("%d",&j);
if(j%2==0)
{
sum=sum+j;
count++;
}
}
printf("偶数的平均值是:
%f",sum*1.0/count);
getch();
}
输入一个正整数,输出这个整数的所有因子
#include
intmain(void)
{
inta,i;
printf("请输入一个正整数:
");
scanf("%d",&a);
if(a<=0)
{
printf("输入的数不是正数");
return1;
}
printf("%d的因子有:
\n",a);
for(i=1;i<=a;i++)
{
if(a%i==0)
{
printf("%d",i);
}
}
return0;
}
输入一行英文句子,输出到屏幕上,
并将每个单词的首字符改写成大写字母
#include
voidmain()
{
intword=0;
charc;
while((c=getchar())!
='\n')
if(c==''){word=0;putchar(c); }
elseif(word==0)
{word=1;
if(c>='a'&&c<='z') putchar(c-32);
elseputchar(c);
}
elseputchar(c);
}
输出100以内的所有素数,每行输出5个
#include"stdio.h"
main()
{
intm,i,count=0;
for(m=2;m<=100;m++)
{for(i=2;i<=m-1;i++)
if(m%i==0)break;
if(i==m)
{
printf("%5d",m);
count++;
if(count%5==0)printf("\n");
}
}
}
输入4个整数,输出最大最小值
#include
intmain(void)
{
intmax=-32768,min=32767;
inti,j;
printf("请输入4个整数:
");
for(i=1;i<=4;i++)
{
scanf("%d",&j);
if(j>max) max=j;
if(j } printf("\n最大值是: %d,最小值是: %d",max,min); return0; } 水仙花数 解一: #include"stdio.h" main() { intb,s,g,n; for(b=1;b<=9;b++) for(s=0;s<=9;s++) for(g=0;g<=9;g++) {n=100*b+10*s+g; if(n==b*b*b+s*s*s+g*g*g)printf("%d,",n); } } 解二: #include"stdio.h" main() { intb,s,g,n; for(n=100;n<=999;n++) {b=n/100; s=n%100/10; g=n%10; if(n==b*b*b+s*s*s+g*g*g)printf("%d,",n); } } 输出1*2*3+2*3*4+....+99*100*101 #include intmain(void) { longi,j,sum=0; for(i=1;i<100;i++) { j=i*(i+1)*(i+2); sum+=j; } printf("%ld",sum); getch(); return0; } 三色球红3白3黑6取8 #include main() {inti,j,k; printf("red white black\n"); for(i=0;i<=3;i++) for(j=0;j<=3;j++) {k=8-i-j; if(k>=0&&k<=6)printf("%d %d %d\n",i,j,k); } } 计算1-1/2+1/3-…+1/99-1/100+… 直至最后项的绝对值小于10-4为止。 #include #include main() {floaty=0,temp,s=1; inti=1; do{temp=s/i; y=y+temp; i++; s=-s; }while(fabs(temp)>=1e-4); printf("1-1/2+...+1/99-1/100=%f\n",y); } 求解100的所有质因子 解一: #include main() {intm,i,n,k; scanf("%d",&m); /*m被求质因子的数*/ k=m/2; /*质因子在2到k之间*/ for(i=2;i<=k;i++) /*在2到k之间求质因子*/ if(m%i==0) /*判断i如果是因子*/ {for(n=2;n if(i%n==0)break; if(n==i) /*i是质因子*/ printf("%d ",i); } } P1215.查找一个整数key #include #include main() {intnum[100],i,key,found=0; randomize(); for(i=0;i<100;i++) num[i]=random(100); printf("inputlookfornumber: "); scanf("%d",&key); for(i=0;i<100;i++) if(num[i]==key) {printf("num[%d]=%d, ",i,num[i]); found=1; } if(found==0)printf("notfound\n"); getch(); } 软件下载次数排序 #include #include main() {intnum[101],count[101],i,j,k,temp; randomize(); for(i=1;i<101;i++) num[i]=i; for(i=1;i<101;i++) count[i]=random(100); for(i=1;i<100;i++) {k=i; for(j=i+1;j<101;j++) if(count[k] if(k! =i) {temp=count[i];count[i]=count[k];count[k]=temp; temp=num[i];num[i]=num[k];num[k]=temp; } } for(i=1;i<=10;i++) printf("bian_hao: %d,ci_shu: %d,",num[i],count[i]); printf("\n0_count: "); for(i=1;i<101;i++) if(count[i]==0)printf("%d,",num[i]); getch(); } 统计单词数目 #include voidmain() {charstring[81]; inti,num=0,word=0; charc; gets(string); for(i=0;(c=string[i])! =‘\0’;i++) if(c==‘’)word=0; elseif(word==0) {word=1; num++; } printf(“Thereare%dwords.\n”,num); } 排序: 输入n个值,选择排序,挑选出前m个数值,立即结束。 #include #definenum100 main() {inta[num],i,j,k,n,m,temp; printf("n=? (n<100),m=?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 习题