程序题

更新时间:2023-10-08 03:59:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

功能:将主函数中输入的字符串反序存放。 例如:输入字符串“abcdefg”,则应输出“gfedcba”。 int i,j; char c;

for(i=0,j=n-1;i

功能:判断m是否为素数。 答案: int i,k=1; if(m<=1) k=0; for(i=2;i

功能:计算并输出给定整数的所有因子之积(包括自身)。 规定这个整数的值不大于50。 答案: long s=1,i; for(i=2;i<=n;i++) if(n%i==0)s=s*i; return s;

功能:产生20个[30,120]上的随机整数放入二维数组 a[5][4]中, 求其中的最小值。 答案: int i,j,s; s=a[0][0];

for(i=0;i<5;i++) for(j=0;j<4;j++)

if(s>a[i][j])s=a[i][j]; return(s);

功能:将两个两位数的正整数a、b合并形成一个整数放在 c中。合并的方式是:将a数的十位和个位数依次放 在c数的百位和个位上, b数的十位和个位数依次放 在c数的十位和千位上。

例如:当a=45,b=12。调用该函数后,c=2415。 答案: *c=a/10*100+a+b/10*10+b*1000;

功能:编写函数判断一个整数能否同时被3和5整除,若能 则返回值为1,否则为0。调用该函数求出15~300之 间能同时被3和5整除的数的个数。 答案: if(n%3==0&&n%5==0) return(1); return(0);

功能:编写函数fun求1!+2!+3!+ …… +n!的和,在main函 数中由键盘输入n值,并输出运算结果。请编写fun 函数。

例如:若n值为5,则结果为153。 答案: int i; float f=1,s=0; for(i=1;i<=n;i++) {f=f*i; s=s+f;} return s;

功能:对某一正数的值保留2位小数,并对第三位进行四舍 五入。 答案: int i;

i=(int)(h*1000); if(i>=5)

return(int)(h*100+1)/100.0; else

return(int)(h*100)/100.0;

功能:编写函数fun将一个数组中的值按逆序存放,并在 main()函数中输出。

例如:原来存顺序为8,6,5,4,1。要求改为:1,4,5,6,8。 答案: int i,t;

for(i=0;i

arr[i]=arr[n-1-i]; arr[n-1-i]=t; }

功能:编写函数fun求一个字符串的长度,在main函数中 输入字符串,并输出其长度。 答案: char *p;

int n=0; p=p1;

while(*p++) n++;

return n;

功能:求出二维数组周边元素之和,作为函数值返回。二 维数组的值在主函数中赋予。 答案: int s=0; int i,j;

for(i=0;i

s=s+a[i][0]+a[i][N-1]; for(j=1;j

s=s+a[0][j]+a[M-1][j]; return s;

功能:判断整数x是否是同构数。若是同构数,函数返回1; 否则返回0。x的值由主函数从键盘读入,要求不大 于100。

说明:所谓“同构数”是指这样的数,这个数出现在它的 平方数的右边。

例如:输入整数5,5的平方数是25,5是25中右侧的数,所 以5是同构数。 答案: int k; k=x*x;

if((k==x)||(k0==x)) return 1; else

return 0;

功能:找出一个大于给定整数且紧随这个整数的素数,并 作为函数值返回。 答案: int i,k; for(i=n+1;;i++){ for(k=2;k

功能:编写函数fun求sum=d+dd+ddd+……+dd...d(n个d), 其中d为1-9的数字。

例如:3+33+333+3333+33333(此时d=3,n=5),d和n在主函 数中输入。

答案: long int s=0,t=0; int i;

for(i=1;i<=n;i++) { t=t+d; s=s+t; d=d*10; }

return s;

功能:求n阶方阵主、副对角线上的元素之积。 答案:int i,j; float t=1;

for(i=0;i

if(i==j||i+j==N-1) t=t*arr[i][j]; return(t);

功能:编写函数求3!+6!+9!+12!+15+18!+21!。 答案: int i,j; float t,s=0;

for(i=3;i<=n;i=i+3) {t=1;

for(j=1;j<=i;j++) t=t*j;

s=s+t;} return(s);

功能:编写函数fun(str,i,n),从字符串str中删除第i个 字符开始的连续n个字符(注意:str[0]代表字符串 的第一个字符)。

while(str[i+n-1]) {

str[i-1]=str[i+n-1]; i++; }

str[i-1]='\\0';

功能:编写程序打印如图1所示图形。 * *** *****

******* ***** *** *

要求:要求使用abs()。

答案: for(m=-i;m<=i;m++) {

for(n=0;n

for(n=0;n<7-2*abs(m);n++) printf(\ printf(\ }

功能:编写程序, 求矩阵(3行3列)与2的乘积 int i,j;

for(i=0; i < 3; i++) for(j=0; j < 3; j++) array[i][j]=array[i][j]*2

功能:输入一个字符串,过滤此串,只保留串中的字母字 符,并统计新生成串中包含的字母个数。

例如:输入的字符串为ab234$df4,新生成的串为abdf 。 int i,j;

for(i=0,j=0;*(ptr+i)!='\\0';i++)

if(*(ptr+i)<='z'&& *(ptr+i)>='a'||*(ptr+i)<='Z' && *(ptr+i)>='A') {*(ptr+j)=*(ptr+i); j++;}

*(ptr+j)='\\0'; return(j);

功能:找出一批正整数中的最大的偶数。 答案: int i,amax=-1; for(i=0;i

if (a[i]>amax) amax=a[i]; return amax;

功能:对长度为7个字符的字符串,除首、尾字符外,将其 余5个字符按降序排列。

例如:原来的字符串为CEAedca,排序后输出为CedcEAa。 答案: int i,j; char t;

for(i=1;i

for(j=i+1;j

{ t=s[i];s[i]=s[j];s[j]=t;}

题目:输入华氏温度求摄氏温度。转换公式为 c=5/9(f-32), 输出结果取两位小数。 答案: float n;

n=(5.0/9.0)*(m-32); return n;

功能:编写程序求无理数e的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 答案: long int j; int i,k;

double e,jc; i=1; e=0.0; jc=1.0;

while(jc>=0.000001) {

e=e+jc;

j=1;

for(k=1;k<=i;k++) j=j*k;

jc=1.0/j; i++; }

return e;

功能:将从键盘上输入的每个单词的第一个字母转换为 大写字母,输入时各单词必须用空格隔开,用’.’ 结束输入。 if (*c== ' ') return 1; else {

if(status && *c <= 'z' && *c >= 'a') *c += 'A' - 'a'; return 0; }

例如:给a和b分别输入:60和65,输入为:a=65 b=60 答案: int t;

t=*a;*a=*b;*b=t;

功能:从字符串中删除指定的字符。同一字母的大、小写 按不同字符处理。

例如:若程序执行时输入字符串为:turbocandborlandc++ 从键盘上输入字符:n,则输出后变为:turbocadbo rladc++,如果输入的字符在字符串中不存在,则字 符串照原样输出。 答案: char *q=s; for(; *q; q++)

if(*q != c) *(s++)=*q; *s=0;

功能:删除所有值为y的元素。数组元素中的值和y的值由 主函数通过键盘输入。 答案: int i,j; for(i=0;i<*n;) {

if(bb[i]==y)

{for(j=i;j<*n;j++) bb[j]=bb[j+1]; *n=*n-1; } else i++; }

功能:输入2个学生3门课的成绩,计算学生成绩平均分, 课程平均分和最高分.

例如:输入2名学生3门课的成绩分别为92,87,68,56, 92,84 则

学生1平均分:82.33 学生2平均分:77.33 课程1平均分:74.00 课程2平均分:89.50 课程3平均分:76.00 最高分为:92 答案: int i,j; float sum;

for(i=0;i<2;i++) /*计算第i个学生平均分*/ { sum=0;

for(j=0;j<3;j++)

sum=sum+score[i][j]; StuAgv[i]=sum/3; }

for(j=0;j<3;j++) /*计算第j门课的平均分*/ { sum=0;

for(i=0;i<2;i++)

sum=sum+ score [i][j]; CouAgv[j]=sum/2;

}

Max=score[0][0]; for(i=0;i<2;i++) for(j=0;j<3;j++)

if(Max<=score[i][j]) { Max=score[i][j]; }

return ;

功能:求一个大于10的n位整数的后n-1位的数,并作为函 数值返回。 答案: int n=0;int i=1; while(w>10) {n=n+i*(w); w/=10; i*=10;} return n;

功能:根据整型参数n,计算如图公式的值。 double a=1;int i; for(i=1;i

----------------------

功能:若x、y为奇数,求x到y之间的奇数和;若x、y为偶 数,则求x到y之间的偶数和。 答案:---------------------- int i,s=0;

for(i=x;i<=y;i+=2) s=s+i; return s;

----------------------

功能:将两个两位数的正整数a、b合并形成一个整数放在c 中。合并的方式是:将a数的十位和个位数依次放在 c数的千位和十位上, b数的十位和个位数依次放在 c数的个位和百位上。

例如:当a=45,b=12。调用该函数后,c=4251。

*c=a/10*1000+a*10+b/10+b*100; 功能:用辗转相除法求两个整数的最大公约数。 int r,t;

if(n

{ n=m;m=r;r=n%m;} return(m);

功能:将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 int i;

for(i=0;str[i]!='\\0';i++)

if(str[i]>='a' && str[i]<='z') str[i]=str[i]-32;

功能:统计出若干个学生的平均成绩,最高分以及得最高 分的人数。

例如:输入10名学生的成绩分别为92,87,68,56,92, 84,67,75,92,66,则输出平均成绩为77.9, 最高分为92,得最高分的人数为3人。 int i;float sum=0,ave; Max=array[0]; for(i=0;i

{ if(Max

题目:从键盘输入一个大写字母,要求改用小写字母输出。 答案: c=c+32; return c;

本文来源:https://www.bwwdw.com/article/y2ud.html

Top