C语言实验报告(三) 下载本文

内容发布更新时间 : 2024/12/26 2:18:47星期一 下面是文章的全部内容请认真阅读。

描述:给你n个整数,求它们中所有奇数的乘积。

输入:输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。

输出:输出每组数中的所有奇数的乘积,对于每个测试实例,输出一行。

样例输入:3 1 2 3 ; 4 2 3 4 5 样例输出: 3 15 ·程序代码:

#include \int main(void) {

int n,i,m,s;

while (scanf(\ {

s=1;

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

scanf(\ if (m % 2 != 0) s*=m; }

printf(\ }

return 0; }

9. 阶乘和

描述:编写一个程序,其功能为:计算并输出:sum=1!+2!+...+n!

输入:一个在0到10之间(含0和10)的整数n。 输出:sum=1!+2!+...+n!

样例输入:2 样例输出:sum=3 ·程序代码:

#include \int main () {

int n,i,sum,a,j; scanf(\ sum=0;j=1;

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

j=j*i;

sum+=j;//sum=sum+j; }

printf(\ return 0; }

10. 牛顿迭代求平方根 描述:xn的初值可以取a/2。 输入:一个正实型数据a

输出:a的平方根,保留5位小数。 样例输入:2 样例输出:1.41421 ·程序代码:

#include \#include \int main() {

float a,x1,x2; scanf(\ x1=a/2;

x2=(x1+a/x1)/2;

while(fabs(x1-x2)>=1e-5) {

x1=x2;

x2=(x1+a/x1)/2;

}

printf(\ return 0; }

11. 整数之间的素数

描述:求指定的两个整数m、n之间的素数(m<=n) 输入:只有一行,是空格隔开的两个正整数m和n。(m<=n) 输出:在m和n之间(含m和n)的所有素数,按照每个数据占6列,每行5个数据输出(最后一行数目可以少)。 样例输入:100 200

样例输出: 101 103 107 109 113

127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199

·程序代码:

#include \#include \int main() {

int m,n,a,flag=0,i=2,b=0; scanf (\ for(a=m;a<=n;a++) {

i=2; flag=0;

while(i<=sqrt(a)&&flag==0) {

if(a%i==0) flag=1; else i++; }

}

if(flag==0) {

printf(\ b++;

if(b%5==0)

printf(\ } }

return 0;

12. 打印菱形

描述:从键盘输入一个整数n(1≤n≤9),打印出指定的菱形。 输入:正整数n(1≤n≤9)。 输出:指定的菱形。

第一行前面有n-1个空格,第二行有n-2个空格,以此类推,直到第n行;从第n+1行后空格开设逐渐增多,每次增加一个。 样例输入:5 样例输出:

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

·程序代码:

#include int main() {

int m, n,i,t;

scanf(\ for(i=1;i<=n;i++) {

for(m=n-i;m>=1;m--)//here {

printf(\ }

for(t=2*i-1;t>=1;t--) {

printf(\ }

printf(\ }

for(i=n-1;i>=1;i--) {

for(m=n-i-1;m>=0;m--)//here {

printf(\ }

for(t=2*i-1;t>=1;t--) {

printf(\ }

printf(\ }

return 0; }

13. sum of integers

描述:In this problem, your task is to calculate SUM( n

) = 1 + 2 + 3 + ... + n

输入: The input first line is a integer m denotes number

of input and below will consist of m integers n, one integer per line

输出: For each case, output SUM( n ) in one line,

followed by a blank line. You may assume the result will be in the range of 32-bit signed integer.