程序填空题和编程题整理后docxWord文档下载推荐.docx
《程序填空题和编程题整理后docxWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《程序填空题和编程题整理后docxWord文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
}
printf("
1+2+3+……+100的和为%d。
\n"
___5___);
return0;
}
1.int;
2.i<
=100;
3.sum+i;
4.i++;
5.sum
输入不大于5位的正整数,输出该数为几位数。
#include〈stdio.h〉
intmain()
intnumber,d;
请输入一个不大于5位的正整数:
"
);
scanf("
__1__"
__2__);
if (number〉=0&
&
number〈=9) d=1;
elseif(number〉=10&
number〈=99)d=2;
elseif(number〉=100&
number〈=999)d=3;
elseif(number〉=1000&
number〈=9999)d=4;
elseif(number〉=10000&
number〈=99999)d=5;
__3__d=0;
If(__4__)printf(“输入的数字有误。
\n”);
elseprintf(“该数是%d位数。
\n”,__5__);
return0;
}
1%d2&
number3else4d==05d
编写自定义函数intdays(intyear,intmonth,intday),主函数中用户输入年月日,调用该函数,该函数返回第几天,在主函数中输出。
intdays(intyear,intmonth,intday);
inty,m,d;
请输入年月日(如:
2015.6.1):
scanf("
%d.%d.%d"
&
y,&
m,&
d);
%d年&
d月&
d日是%d年的第%d天。
__1__,__2__,__3__,year,days(year,month,day));
intdays(intyear,intmonth,intday)
intmonthday[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
inttotaldays=0;
//用来保存从year年1月1日开始,到month月day日的总天数
inti;
for(i=1;
i<month;
i++)
totaldays+=month[i];
totaldays+=__4__;
if((year%4==0&
year%100!
=0||year%400==0)&
(month==2&
day==29||month>2))
totaldays++;
return__5__;
1year2month3day4day5totaldays
74.给定程序的功能是:
计算score中m个人的平均成绩aver,将低于aver的成绩放在below中,通过函数名返回人数。
例如,当score={10,20,30,40,50,60,70,80,90},m=9时,函数返回的人数应该是4,below={10,20,30,40}。
#include<stdio.h>
#include<string.h>
intfun(intscore[],intm,intbelow[])
{
inti,j=0;
floataver=0.0;
for(i=0;
i<m;
aver+=score[i];
aver/=___m___;
if(___score[i]<
aver____)
below[j++]=___score[i]____;
returnj;
intmain()
inti,n,below[9];
intscore[9]={10,20,30,40,50,60,70,80,90};
n=fun(score,9,___below___);
printf("
\nBelowtheaveragescoreare:
i<n;
printf("
__below[i]___);
75.编写C语言程序,输出以下信息。
*********************************
欢迎你进入C语言的天地!
#include<
stdio.h>
main()
*********************************\n"
欢迎你进入C语言的天地!
6.有一个函数:
┌x x<1
y=├2x-1 1≤x<10
└3x-11 x≥10
编写程序,用户输入x,程序输出y值(x、y均为float型,结果保留2位小数)。
参考答案:
#include<
floatx,y;
inputx"
%f"
x);
if(x<
1)
y=x;
elseif(x>
=1&
x<
10)
y=-2*x-1;
else
y=3*x-11;
y=%.2f"
y);
71.把100~200中不能被3整除的数输出。
___1int___n;
for(n=___2_100__;
n<=___3_200__;
n++)
if(4___n%3!
=0___)printf("
___5_n__);
写一个函数voidcount(charstr[],intnum[]),统计由实参传来的字符串中字母、数字、空格和其他字符的个数,主函数中由用户输入字符串,调用此函数后,在主函数中输出统计数字。
#include<string.h>
voidcount(charstr[],intnum[]);
charstr[80];
//存放用户输入的字符串
intnum[4]={0};
//num[0]~num[3]分别存放字母、数字、空格和其他字符的个数
请输入一串字符:
gets(str);
count(str,num);
字母:
%d个\n数字:
%d个\n空格:
%d个\n其他:
%d个\n"
num[0],num[1],num[2],num[3]);
voidcount(chars[],intn[])
for(i=0;
s[i]!
=__’\0’__;
i++)
if(‘a’<=s[i]&
s[i]<=’z’||‘A’<=s[i]&
s[i]<=’Z’)___n[0]_++;
elseif(__‘0’<=s[i]&
s[i]<=’9’__)n[1]++;
elseif(s[i]==’‘)__n[2]__++;
else___n[3]_++;
73.给定程序的功能是:
将n个人员的考试成绩进行分段统计,考试成绩放在数组a中,各分段的人数存到数组b中:
成绩为60到69的人数存到b[0]中,成绩为70到79的人数存到b[l],成绩为80到89的人数存到b[2],成绩为90到99的人数存到b[3],成绩为100的人数存到b[4],成绩为60分以下的人数存到b[5]中。
例如,当数组a中的数据是:
93、85、77、68、59、43、94、75、98。
调用该函数后,数组b中存放的数据应是:
l、2、l、3、0、2。
voidfun(inta[],____intb[]__,intn)
inti;
for(i=0;
i<6;
i++)
b[i]=0;
i<___n___;
if(a[i]<60)
b[5]++;
____else____
b[(a[i]-60)/10]++;
inti,a[100]={93,85,77,68,59,43,94,75,98},b[6];
fun(_____a,b___,9);
printf("theresultis:
");
___b[i]___);
}(5分)
74.下面程序的功能是显示具有n个元素的数组s中的最大元素。
#defineN20
intfmax(____inta[]__,intn)
intk,p;
for(p=0,k=p;
p<n;
p++)
if(s[p]>s[k])
_______k=p___;
returnk;
inti,a[N];
for(____i=0__;
i<N;
scanf("
___&
a[i]__);
%d\n"
__a[fmax(a,n)]__);
return0;
75.编写一个C语言应用程序,其功能是显示以下图形。
#
##
###
####
#\n"
##\n"
###\n"
####\n"
#####\n"
76.用户输入分钟(正整数),程序输出换算后的小时和分钟。
例如:
用户输入310,程序输出:
5小时10分钟:
(5分)
inta,h,m;
scanf(“%d”,&
a);
h=a/60;
m=a%60;
printf(“%d分钟是%d小时%d分钟\n”,a,h,m);
//以下程序将数组a中的数据按逆序存放,请填空
#defineM8
inta[M],i,j,t;
for(i=0;
i<
M;
scanf("
a[i]);
//填空
i=0;
j=M-1;
while(i<
j)
t=*(a+i);
*(a+i)=*(a+j);
//填空
*(a+j)=t;
i++;
j--;
i++)
printf("
%3d"
*(a+i));
1.编程题目:
inputx:
else//(x>
=10)
y=%6.2f"
//程序填空
2.用户输入3个数,按由小到大顺序输出
inta,b,c,temp;
inputa,b,c:
%d,%d,%d"
a,&
b,&
c);
if(a>
b)
temp=a;
a=b;
b=temp;
c)
a=c;
c=temp;
if(b>
temp=b;
b=c;
由小到大输出三个数为:
%d,%d,%d\n"
a,b,c);
//3.输入两个数,将较小的数输出,见教材65页.
inta,b,min;
inputa,b:
%d,%d"
b);
=b)
min=b;
else
min=a;
//min=a>
b?
b:
a;
min=%d\n"
min);
//4.输入用户3个整数,输出其中最大的数.编程题
if(a<
=c)
if(b<
三数中最大值为:
//5.输入一个字符,若该字符是大写字母,则转换为小写字母输出,否则原样输出.程序填空,参看教材46页
charch;
输入一个字符:
ch);
if(ch>
='
A'
ch<
Z'
)
ch=ch+32;
%c\n"
ch);
//6.输入1-7中的任意一个数字,程序输出周一到周日的英语单词.程序填空题
intday;
输入第几天:
day);
switch(day)
case1:
星期一\n"
break;
case2:
星期二\n"
case3:
星期三\n"
case4:
星期四\n"
break;
case5:
星期五\n"
case6:
星期六n"
case7:
星期日\n"
default:
inputerror!
//编写函数,计算某两个自然数之间所有自然数之和
intadd_m2n(intm,intn);
//第一个空
intm,n,j;
本程序计算自然数m-n之和,请输入m和n:
%d%d"
n);
从%d到%d的自然数之和为%d\n"
m,n,add_m2n(m,n));
//最后面连续三个空
intadd_m2n(intm,intn)
inti,sum=0,temp;
if(m>
n)
temp=m;
m=n;
n=temp;
for(i=m;
=n;
sum+=i;
//本题i为空
returnsum;
算术运算与表达式程序题
从键盘任意输入一个3位数,编辑计算并输出它的逆序数(忽略整数前的正负号)。
例如,输入-123,则忽略负号,由123分离出百位1、十位2、个位3,然后计算3*100+2*10+1,并输出321。
程序答案:
math.h>
Main()
intx,b0,b1,b2,y;
printf(“inputx:
”);
scanf(“%d”,&
x=(int)fabs(x);
b2=x/100;
b1=(x-b2*100)/10;
b0=x%10;
y=b2+b1*10+b0*100;
printf(“y=%d\n”,y);
设银行定期存款的年利率rate为2.25%,已知存款期为n年,存款本金为capital元,试编程计算并输出n年后的本利之和deposit
intn;
doublerate;
doublecapital;
doubledeposit;
printf(“Pleaseenterrate,year,capital:
scanf(“%lf,%d,%lf”,&
rate,&
n,&
capital);
deposit=capital*pow(1+rate,n);
printf(“deposit=%f\n”,deposit);
//输入20个数,统计非负数的个数,计算非负数的和.
inti,a[20],s,count;
s=count=0;
20;
i++)//填空i<
20
//填空&
a[i]
if(a[i]<
0);
else//填空
{
s+=a[i];
//填空a[i]
count++;
}
s=%d,count=%d"
s,count);
//填空s=%d,count=%d