求一个n的阶乘c语言程序设计:给n个高为h,上底为ai,下底为bi的等高不等底的梯形求总

编程练习——c语言编程题精选(1-10题) - 我测故我在 - 51Testing软件测试网 51Testing软件测试网-中国软件测试人的精神家园
编程练习——c语言编程题精选(1-10题)
& 23:03:22
/ 个人分类:
<FONT color=#、&编程实现对键盘输入的英文名句子进行加密。用加密方法为,当内容为英文字母时其在26字母中的其后第三个字母代替该字母,若为字符时不变。#include &stdio.h&#include &stdlib.h&#include &string.h&void main(){&char str[1024];&int i=0;&printf("请输入一串字符:");&scanf("%s",str);&while(str[i]!='\0')&{&&if((str[i]&='a'&&str[i]&='w')||(str[i]&='A'&&str[i]&='W'))&&&str[i]+=3;&&else if((str[i]&='x'&&str[i]&='z')||(str[i]&='X'&&str[i]&='Z'))&&&str[i]=str[i]-26+3;&&i++;&}&printf("加密后的字符串为%s\n",str);}<FONT color=#、&编程实现将任意的十进制整数转换成R进制数(R在2-16之间)。#include &stdio.h&#include &stdlib.h&#include &string.h&#include &math.h&void main(){&&int R;&char result[100];&int temp1,temp2;&&&printf("请输入一个十进制整数:");&scanf("%d",&inter);&&& printf("请输入需要转换的进制数(2-16之间):");&scanf("%d",&R);&if(R&2||R&16)&{&&printf("输入数据错误");&&exit(0);&}&if(inter&0)&{&&inter=-&&flag=1;&}&temp1=&for(i=0;temp1!=0;i++)&{&&temp2=temp1%R;&&if(temp2&=10)&&&result[i]='A'+temp2-10;&&else&&&result[i]='0'+temp2;&&temp1=temp1/R;&}&if(flag==1)&&printf("-");&&& for(i=i-1;i&=0;i--)&&printf("%c",result[i]);&printf("\n");}<FONT color=#、&从键盘输入一指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,要求显示100元、50元、10元、5元、2元、1元、1角、5分、1分各多少张。#include &stdio.h&#include &stdlib.h&#include &string.h&#include &math.h&void main(){&int money[9]={,,100,10,5,1};&&&int result[9];&&printf("请输入一金额(精确到分):");&scanf("%f",&temp);&if(temp&0)&{&&printf("输入金额小于0,错误");&&exit(0);&}&&& data=temp*100;&&& for(i=0;i&9;i++)&{&&result[i]=data/money[i];&&data=data%money[i];&&if(i==6)&&&printf("%d角%d张;",money[i]/10,result[i]);&&else if(i&6)&&&printf("%d分%d张;",money[i],result[i]);&&else&&&&&&&&&&& printf("%d元%d张;",money[i]/100,result[i]);&}}<FONT color=#、&随机产生20个[10,50]的正整数存放到数组中,并求数组中的所有元素最大值、最小值、平均值及各元素之和。#include &stdio.h&#include &stdlib.h&#include &time.h&void main(void){&&int inter[20];&int max,min,value,sum=0;&srand(time(0));&for(i=0;i&20;i++)&{&&inter[i]=1+(int)(50.0*rand()/(RAND_MAX+10.0));&&printf("%d ",inter[i]);&}&max=min=inter[0];&&& for(i=0;i&20;i++)&{&&if(max&inter[i])&&&max=inter[i];&&if(min&inter[i])&&&min=inter[i];&&sum+=inter[i];&}&value=sum/20;&printf("最大值是%d,最小值是%d,平均值是%d,各元素之和是%d\n",max,min,value,sum);}<FONT color=#、&编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。#include &stdio.h&#include &stdlib.h&#include &time.h&void main(){&char str[]={"ASEEsdffw WEsdfe joiejorjerojeojr ASOJGWOEJIOJERJJ wejr"};&int len=0;&&&int i=0;&while(str[i]!='\0')&{&&temp=0;&&while(str[i]!=' '&&str[i]!='\0')&&{&&&temp++;&&&i++;&&}&&if(len&temp)&&{&&&len=&&&point=i-&&}&&if(str[i]=='\0')&&&&&else&&&i++;&}&while(str[point]!=' '&&str[point]!='\0')&{&&printf("%c",str[point]);&&point++;&}&printf("\n");}6、&模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A、B、C、D表示,当选某候选人时直接输入其编号(编号由计算机随机产生),若输入的不是A、B、C、D则视为无效票,选举结束后按得票数从高到低输出候选人编号和所得票数。#include &stdio.h&#include &stdlib.h&#include &time.h&#define N 100void main(){&int num[5]={0,0,0,0,0};&&int i,j;&char str[]={"ABCD0"};&srand(time(0));&for(i=0;i&100;i++)&{&&temp=1+(int)(5.0*rand()/(RAND_MAX+1.0));&&printf("%d ",temp);&&switch(temp)&&{&&case 1:&&&num[0]++;&&&&&&&&&& case 2:&&&num[1]++;&&&&&case 3:&&&num[2]++;&&&&&case 4:&&&num[3]++;&&&&&&&case 5:&&&num[4]++;&&&&&}&}&for(i=0;i&4;i++)&{&&for(j=i+1;j&5;j++)&&{&&&if(num[i]&num[j])&&&{&&&&temp=num[j];&&&&num[j]=num[i];&&&&num[i]=&&&&temp=str[i];&&&&str[i]=str[j];&&&&str[j]=&&&}&&}&&printf("\n编号为%c,得票数为%d",str[i],num[i]);&}}<FONT color=#、任何一个自然数m的立方均可写成m个连续奇数之和。例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19编程实现:输入一自然数n,求组成n3的n个连续奇数。#include &stdio.h&#include &stdlib.h&#include &time.h&void main(){&&&&&printf("输入一个自然数:");&scanf("%d",&n);&if(n&0)&{&&printf("输入数据有错误");&&exit(0);&}&num=0;&for(i=1;i&n;i++)&&num+=i;&first=num*2+1;&printf("组成%d的立方的%d个连续奇数为:",n,n);&&& for(i=0;i&n;i++)&&printf("%d ",first+2*i);}<FONT color=#、已知abc+cba=1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。#include &stdio.h&#include &stdlib.h&#include &time.h&void main(){&int a,b,c;&&for(a=1;a&10;a++)&{&&for(b=0;b&10;b++)&&&for(c=1;c&10;c++)&&&&if((temp=a*100+b*10+c+c*100+b*10+a)==1333)&&&&&printf("a=%d,b=%d,c=%d\n",a,b,c);&}}<FONT color=#、编制一个完成两个数的四则运算程序。如:用户输入34+56则输出结果90.00。要求运算结果保留两位小数,用户输入时一次将两个数和操作符输入。#include &stdio.h&#include &stdlib.h&#include &time.h&void main(){&&float a,b,&printf("请输入两个数和操作符(例如46+78):");&scanf("%f%c%f",&a,&ch,&b);&switch(ch)&{&case '+':result=a+b;&case '-':result=a-b;&case '*':result=a*b;&case '/':result=a/b;&default:printf("输入操作符错误");exit(0);&}&&& printf("运算结果为%.2f\n",result);}<FONT color=#、输入一个五位以内的正整数,(1)判断它是一个几位数;(2)请按序输出其各位数字;(3)逆序输出其各位数字。如输入:56439,输出:5位数          5,6,4,3,9&&&&&&&&&&&&&&&&&9,3,4,6,5#include &stdio.h&#include &stdlib.h&#include &time.h&#include &math.h&void main(){&int n=0;&&&int num[5];&&&& printf("请输入一个5位以内的正整数:");&scanf("%d",&inter);&if(inter&=0||inter&99999)&{&&printf("输入错误");&&exit(0);&}&for(i=0;i&5;i++)&{&&if(inter/int(pow(10,4-i))!=0)&&&&}&n=5-i; //位数&&& printf("%d位数\n",n);&ys= //余数&for(i=0;i&n;i++)&{&&num[i]=ys/int(pow(10,n-i-1));&&ys=ys%int(pow(10,n-i-1));&}&&& for(i=0;i&n;i++)&&printf("%d ",num[i]);&printf("\n");&for(i=n-1;i&=0;i--)&&printf("%d ",num[i]);}C程序设计教程课后习题答案吉顺如版_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C程序设计教程课后习题答案吉顺如版
上传于||文档简介
&&C&#8203;程&#8203;序&#8203;设&#8203;计&#8203;教&#8203;程&#8203;课&#8203;后&#8203;习&#8203;题&#8203;答&#8203;案&#8203;吉&#8203;顺&#8203;如&#8203;版
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩35页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢本文由&– 小峰原创,转载请看清文末的转载要求,欢迎参与我们的!
算法是一个程序和软件的灵魂,作为一名优秀的,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手。本文是近百个C语言算法系列的第二篇,包括了经典的Fibonacci数列、简易计算器、回文检查、质数检查等算法。也许他们能在你的毕业设计或者面试中派上用场。
1、计算Fibonacci数列
Fibonacci数列又称斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21。
C语言实现的代码如下:
/* Displaying Fibonacci sequence up to nth term where n is entered by user. */
#include &stdio.h&
int main()
int count, n, t1=0, t2=1, display=0;
printf("Enter number of terms: ");
scanf("%d",&n);
printf("Fibonacci Series: %d+%d+", t1, t2); /* Displaying first two terms */
/* count=2 because first two terms are already displayed. */
while (count&n)
display=t1+t2;
printf("%d+",display);
结果输出:
Enter number of terms: 10
Fibonacci Series: 0+1+1+2+3+5+8+13+21+34+
也可以使用下面的源代码:
/* Displaying Fibonacci series up to certain number entered by user. */
#include &stdio.h&
int main()
int t1=0, t2=1, display=0,
printf("Enter an integer: ");
scanf("%d",&num);
printf("Fibonacci Series: %d+%d+", t1, t2); /* Displaying first two terms */
display=t1+t2;
while(display&num)
printf("%d+",display);
display=t1+t2;
结果输出:
Enter an integer: 200
Fibonacci Series: 0+1+1+2+3+5+8+13+21+34+55+89+144+
2、回文检查
/* C program to check whether a number is palindrome or not */
#include &stdio.h&
int main()
int n, reverse=0, rem,
printf("Enter an integer: ");
scanf("%d", &n);
while(temp!=0)
rem=temp%10;
reverse=reverse*10+
/* Checking if number entered by user and it's reverse number is equal. */
if(reverse==n)
printf("%d is a palindrome.",n);
printf("%d is not a palindrome.",n);
结果输出:
Enter an integer: 12321
12321 is a palindrome.
3、质数检查
注:1既不是质数也不是合数。
/* C program to check whether a number is prime or not. */
#include &stdio.h&
int main()
int n, i, flag=0;
printf("Enter a positive integer: ");
scanf("%d",&n);
for(i=2;i&=n/2;++i)
if(n%i==0)
if (flag==0)
printf("%d is a prime number.",n);
printf("%d is not a prime number.",n);
结果输出:
Enter a positive integer: 29
29 is a prime number.
4、打印金字塔和三角形
使用 * 建立三角形
#include &stdio.h&
int main()
printf("Enter the number of rows: ");
scanf("%d",&rows);
for(i=1;i&=++i)
for(j=1;j&=i;++j)
printf("* ");
printf("\n");
如下图所示使用数字打印半金字塔。
#include &stdio.h&
int main()
printf("Enter the number of rows: ");
scanf("%d",&rows);
for(i=1;i&=++i)
for(j=1;j&=i;++j)
printf("%d ",j);
printf("\n");
用 * 打印半金字塔
#include &stdio.h&
int main()
printf("Enter the number of rows: ");
scanf("%d",&rows);
for(i=i&=1;--i)
for(j=1;j&=i;++j)
printf("* ");
printf("\n");
用 * 打印金字塔
* * * * * * *
* * * * * * * * *
#include &stdio.h&
int main()
int i,space,rows,k=0;
printf("Enter the number of rows: ");
scanf("%d",&rows);
for(i=1;i&=++i)
for(space=1;space&=rows-i;++space)
while(k!=2*i-1)
printf("* ");
printf("\n");
用 * 打印倒金字塔
* * * * * * * * *
* * * * * * *
#include&stdio.h&
int main()
int rows,i,j,
printf("Enter number of rows: ");
scanf("%d",&rows);
for(i=i&=1;--i)
for(space=0;space&rows-i;++space)
for(j=i;j&=2*i-1;++j)
printf("* ");
for(j=0;j&i-1;++j)
printf("* ");
printf("\n");
5、简单的加减乘除计算器
/* Source code to create a simple calculator for addition, subtraction, multiplication and division using switch...case statement in C programming. */
# include &stdio.h&
int main()
float num1,num2;
printf("Enter operator either + or - or * or divide : ");
scanf("%c",&o);
printf("Enter two operands: ");
scanf("%f%f",&num1,&num2);
switch(o) {
printf("%.1f + %.1f = %.1f",num1, num2, num1+num2);
printf("%.1f - %.1f = %.1f",num1, num2, num1-num2);
printf("%.1f * %.1f = %.1f",num1, num2, num1*num2);
printf("%.1f / %.1f = %.1f",num1, num2, num1/num2);
/* If operator is other than +, -, * or /, error message is shown */
printf("Error! operator is not correct");
结果输出:
Enter operator either + or - or * or divide : -
Enter two operands: 3.4
3.4 - 8.4 = -5.0
6、检查一个数能不能表示成两个质数之和
#include &stdio.h&
int prime(int n);
int main()
int n, i, flag=0;
printf("Enter a positive integer: ");
scanf("%d",&n);
for(i=2; i&=n/2; ++i)
if (prime(i)!=0)
if ( prime(n-i)!=0)
printf("%d = %d + %d\n", n, i, n-i);
if (flag==0)
printf("%d can't be expressed as sum of two prime numbers.",n);
int prime(int n)
/* Function to check prime number */
int i, flag=1;
for(i=2; i&=n/2; ++i)
if(n%i==0)
结果输出:
Enter a positive integer: 34
34 = 3 + 31
34 = 5 + 29
34 = 11 + 23
34 = 17 + 17
7、用递归的方式颠倒字符串
/* Example to reverse a sentence entered by user without using strings. */
#include &stdio.h&
void Reverse();
int main()
printf("Enter a sentence: ");
Reverse();
void Reverse()
scanf("%c",&c);
if( c != '\n')
Reverse();
printf("%c",c);
结果输出:
Enter a sentence: margorp emosewa
awesome program
8、实现二进制与十进制之间的相互转换
/* C programming source code to convert either binary to decimal or decimal to binary according to data entered by user. */
#include &stdio.h&
#include &math.h&
int binary_decimal(int n);
int decimal_binary(int n);
int main()
printf("Instructions:\n");
printf("1. Enter alphabet 'd' to convert binary to decimal.\n");
printf("2. Enter alphabet 'b' to convert decimal to binary.\n");
scanf("%c",&c);
if (c =='d' || c == 'D')
printf("Enter a binary number: ");
scanf("%d", &n);
printf("%d in binary = %d in decimal", n, binary_decimal(n));
if (c =='b' || c == 'B')
printf("Enter a decimal number: ");
scanf("%d", &n);
printf("%d in decimal = %d in binary", n, decimal_binary(n));
int decimal_binary(int n)
/* Function to convert decimal to binary.*/
int rem, i=1, binary=0;
while (n!=0)
binary+=rem*i;
int binary_decimal(int n) /* Function to convert binary to decimal.*/
int decimal=0, i=0,
while (n!=0)
rem = n%10;
decimal += rem*pow(2,i);
结果输出:
9、使用多维数组实现两个矩阵的相加
#include &stdio.h&
int main(){
int r,c,a[100][100],b[100][100],sum[100][100],i,j;
printf("Enter number of rows (between 1 and 100): ");
scanf("%d",&r);
printf("Enter number of columns (between 1 and 100): ");
scanf("%d",&c);
printf("\nEnter elements of 1st matrix:\n");
/* Storing elements of first matrix entered by user. */
for(i=0;i&r;++i)
for(j=0;j&c;++j)
printf("Enter element a%d%d: ",i+1,j+1);
scanf("%d",&a[i][j]);
/* Storing elements of second matrix entered by user. */
printf("Enter elements of 2nd matrix:\n");
for(i=0;i&r;++i)
for(j=0;j&c;++j)
printf("Enter element a%d%d: ",i+1,j+1);
scanf("%d",&b[i][j]);
/*Adding Two matrices */
for(i=0;i&r;++i)
for(j=0;j&c;++j)
sum[i][j]=a[i][j]+b[i][j];
/* Displaying the resultant sum matrix. */
printf("\nSum of two matrix is: \n\n");
for(i=0;i&r;++i)
for(j=0;j&c;++j)
printf("%d
",sum[i][j]);
if(j==c-1)
printf("\n\n");
结果输出:
10、矩阵转置
#include &stdio.h&
int main()
int a[10][10], trans[10][10], r, c, i,
printf("Enter rows and column of matrix: ");
scanf("%d %d", &r, &c);
/* Storing element of matrix entered by user in array a[][]. */
printf("\nEnter elements of matrix:\n");
for(i=0; i&r; ++i)
for(j=0; j&c; ++j)
printf("Enter elements a%d%d: ",i+1,j+1);
scanf("%d",&a[i][j]);
/* Displaying the matrix a[][] */
printf("\nEntered Matrix: \n");
for(i=0; i&r; ++i)
for(j=0; j&c; ++j)
printf("%d
",a[i][j]);
if(j==c-1)
printf("\n\n");
/* Finding transpose of matrix a[][] and storing it in array trans[][]. */
for(i=0; i&r; ++i)
for(j=0; j&c; ++j)
trans[j][i]=a[i][j];
/* Displaying the transpose,i.e, Displaying array trans[][]. */
printf("\nTranspose of Matrix:\n");
for(i=0; i&c; ++i)
for(j=0; j&r; ++j)
printf("%d
",trans[i][j]);
if(j==r-1)
printf("\n\n");
结果输出:
本文链接:
本文作者:&– 小峰
[&原创作品,转载必须在正文中标注并保留原文链接和作者等信息。]
在文章中找不到问题答案?您还可以
热门栏目订阅您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
第3章 c语言控制结构(修改版).ppt55页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
&#xe600;下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:200 &&
第3章 c语言控制结构(修改版)
你可能关注的文档:
··········
··········
第三章 程序结构的控制语句5.复合语句:3.1.2顺序程序设计举例 特征:简单程序(程序结构中没有分支、循环和跳转)。源程序(数学公式变为C表达式)如下:⒉求一元二次方程ax2+bx+c=0的两个不等的实根3.2.1关系运算符和关系表达式3.2.2逻辑运算符和逻辑表达式3.2.3所有运算符的优先级与结合性汇总3.3分支结构⒊循环结构Repetition3.3.1if结构⑵if–else结构(二选一)⑶if–elseif结构(多分支)ifelseif结构 举两例:例2:输入一个分数,将百分制转化为五分制。 90分以上 打印A 80---90 打印B 70---80 打印C 60---70 打印D 60以下 打印E⑷if语句的嵌套(也可实现“多选一”)if语句的嵌套实例:求一元二次方程ax2+bx+c=0的所有根。3.3.2switch语句(结构更清晰的“多分支”)switch语句实例:输出五分制对应的百分制范围。3.4?循环结构3.4.1while语句3.4.2do–while语句3.4.3for语句3.4.4循环中途转移语句(break和continue)3.4.5循环的嵌套补充:特殊循环及应用⒊goto语句例1_1、找出100~999之间的所有水仙花数(三位数的个、 十、百位的立方和等于该数。153==13+53+33)。标志位设置框图程序如下:例1_4、输入10个数,找出并统计其中偶数的个数及偶数值和。例1_5.输入n个学生某门课程的成绩,统计各分数段的人数。例2_1.求ex=1+x/1!+x2/2!+x3/3!+…+xn/n!前n+1项之和。例2_3.用梯形法求定积分程序清单如下:例2_4.求s=a+aa+aaa+…+aaa…a。0<a<10共n项,最后一项有n个a。 如求s=2+22+222+…+222…222;n、a从键盘输入。例2_5.二分法求高次方程f(x)=x3-6x-1=0,在[0,5]区间的根。二分法求方程根程序本章习题 ①一至四题全做。 ②完成本章最后一个实验的8个编程题。格式:do{ statement;}while(expression);流程:e?yes(e非零)no含有使条件趋假的语句。while循环与do-while循环的
正在加载中,请稍后...}

我要回帖

更多关于 编写程序求n的阶乘 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信