首页 > 其他分享 >实验3

实验3

时间:2024-10-26 22:43:04浏览次数:1  
标签:return int void ans 实验 printf include

task1:

Q1:将分数转为等第;整型;字符型

Q2:没有break,输出等第后将自动向下运行;字符型变量用单引号

task2:

Q1:将输入中各个数字之和算出

Q2:这种算法使用迭代思想,原算法使用自然语言

task3:

Q1:计算x的n次方

Q2:是;

 if(n == 0)
    return 1;
  else if(n % 2)
    return x * power(x, n-1);
  else {
    t = power(x, n/2);
    return t*t;

t^2=t*t

task4:

 1 #include<stdio.h>
 2 #include<math.h>
 3 int is_prime(int n){
 4     int i;
 5     for(i=2;i<n;i++){
 6         if(n%i==0){
 7         return 0;
 8         break;}
 9     }
10     return 1;
11 }
12 int main(){
13     int i=0;
14     int n=1;
15     printf("100以内的孪生素数:\n");
16     for(n=2;n<100;n++){
17         if(is_prime(n)==1&&is_prime(n+2)==1){
18         
19         printf("%d %d\n",n,n+2);
20         i++;}
21     }
22     printf("100以内的孪生素数共有%d个",i);
23     return 0;
24 }

task5:

 1 #include<stdio.h>
 2 int i=0;
 3 void hanoi(int n,char from,char temp,char to){
 4     extern int i;
 5     if(n==1){
 6         printf("%d:%c-->%c\n",n,from,to);
 7         i+=1;}
 8     else{
 9         hanoi(n-1,from,to,temp);
10         printf("%d:%c-->%c\n",n,from,to);
11         i+=1;
12         hanoi(n-1,temp,from,to);
13     }
14     
15 }
16 int main(){
17     int n;
18     while(scanf("%d",&n)!=EOF){
19         extern int i;
20         hanoi(n,'a','b','c');
21         
22         printf("一共移动了%d次\n",i);
23         i=0;
24         }
25     return 0;
26 }

 task6:

6.1迭代

 1 #include <stdio.h>
 2 int func(int n, int m);   // 函数声明
 3 
 4 int main() {
 5     int n, m;
 6     int ans;
 7 
 8     while(scanf("%d%d", &n, &m) != EOF) {
 9         ans =func(n, m);   // 函数调用
10         printf("n = %d, m = %d, ans = %d\n\n", n, m, ans);
11     }
12         
13     return 0;
14 }
15 
16 // 函数定义
17 // 迭代
18 int func(int n, int m){
19     
20     
21     if(m==0||n==m)
22         return 1;
23     
24     else if(n<m)
25         return 0;
26     
27     else {
28     
29     int i,j,k;
30     int down1=1,down2=1,up=1;
31         
32         for(i=1;i<=m;i++){
33             down1=i*down1;}
34             
35         for(j=1;j<=n-m;j++){
36             down2=j*down2;}        
37             
38         for(k=1;k<=n;k++){
39             up=k*up;}
40             
41         return (up/down1/down2);
42     }

6.2递归

 1 #include <stdio.h>
 2 int func(int n, int m);   // 函数声明
 3 
 4 int main() {
 5     int n, m;
 6     int ans;
 7 
 8     while(scanf("%d%d", &n, &m) != EOF) {
 9         ans = func(n, m);   // 函数调用
10         printf("n = %d, m = %d, ans = %d\n\n", n, m, ans);
11     }
12         
13     return 0;
14 }
15 
16 // 函数定义
17 // 递归
18 int func(int n, int m){
19     if(m==0||n==m)
20         return 1;
21     else if(n<m)
22         return 0;
23     else{
24         return func(n-1,m)+func(n-1,m-1);
25     }
26 }

task7:

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 void print_charman(int n);
 4 void head(int x);
 5 void body(int x);
 6 void leg(int x);
 7 int main()
 8 {
 9     int n;
10     printf("Enter n:");
11     scanf("%d", &n);
12     print_charman(n);
13     system("pause");
14     return 0;
15 }
16 int j, cnt = 0;
17 void print_charman(int n) {
18     int i;
19     for (i = n; i >= 1; i--) {
20         int x = (2 * i)- 1;
21         head(x);
22         body(x);
23         leg(x);
24         cnt++;
25     }
26 
27 }
28 
29 void head(int x) {
30     int i;
31     for (j = 1; j <= cnt; j++) {
32         printf("\t");
33     }
34     
35     for (i = 1; i <= x; i++) {
36         printf(" O \t");
37     }
38     printf("\n");
39 }
40 void body(int x) {
41     int i;
42     for (j = 1; j <= cnt; j++) {
43         printf("\t");
44     }
45     
46     for (i = 1; i <= x; i++) {
47         printf("<H>\t");
48     }
49     printf("\n");
50 
51 }
52 void leg(int x) {
53     int i;
54     for (j = 1; j <= cnt; j++) {
55         printf("\t");
56     }
57     
58     for (i = 1; i <= x; i++) {
59         printf("I I\t");
60     }
61     printf("\n");
62 }

 

标签:return,int,void,ans,实验,printf,include
From: https://www.cnblogs.com/jrh06/p/18497846

相关文章

  • 程序设计实验2
    运行结果1问题1:不能运行,因为func函数未声明问题2:普通构造函数可以初始化,复制构造函数是对同类对象的引用,移动构造函数是对参数右值的引用,编译周期结束时,自动调用析构函数问题3:不能运行实验任务21//Complex.h2#pragmaonce3#include<string>4#include<io......
  • 实验3 c语言函数应用编程
    实验任务1task1.c1#include<stdio.h>23charscore_to_grade(intscore);//函数声明45intmain(){6intscore;7chargrade;89while(scanf("%d",&score)!=EOF){10grade=score_to_grade(score);//......
  • 实验2 类和对象_基础编程1
    task1:t.h1#pragmaonce23#include<string>45//类T:声明6classT{7//对象属性、方法8public:9T(intx=0,inty=0);//普通构造函数10T(constT&t);//复制构造函数11T(T&&t);//移动构造函数12~T();......
  • 【嵌入式原理设计】实验一:软硬件环境搭建&数字端口应用
    目录一、实验目的 二、实验环境三、实验内容四、实验记录及处理五、实验小结六、成果文件提取链接一、实验目的         配置ESPArduino开发平台,熟悉实验的软硬件工作环境和基本的工作方式二、实验环境        Win10+ESP32实验开发板三、实......
  • 实验3
    task.1#include<stdio.h>charscore_to_grade(intscore);intmain(){intscore;chargrade;while(scanf("%d",&score)!=EOF){grade=score_to_grade(score);printf("分数:%d,等级:%c\n\n",s......
  • Web高级开发实验:EL基本运算符与数据访问
    一、实验目的掌握EL的定义,即ExpressionLanguage,用于提高编程效率。学习和掌握在开发环境中创建Java文件,并在jsp文件中使用EL表达式去调用其中的方法与属性等。二、实验所用方法上机实操三、实验步骤及截图1、创建javaweb项目,在src文件夹下创建myClasses包。在myClasses包......
  • 实验三
    #include<stdio.h>charscore_to_grade(intscore);intmain(){intscore;chargrade;while(scanf("%d",&score)!=EOF){grade=score_to_grade(score);printf("分数:%d,等级:%c\n\n",score,grade);}return0;}charscore_......
  • 《DNK210使用指南 -CanMV版 V1.0》第三十三章 image元素绘制实验
    第三十三章image元素绘制实验1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html5)......
  • 实验三
    #include<stdio.h>charscore_to_grade(intscore);intmain(){intscore;chargrade;while(scanf("%d",&score)!=EOF){grade=score_to_grade(score);printf("分数:%d,等级:%c\n\n",score,grade);......
  • 第二章 实验任务
    第一题写入内存修改CS和IP执行(此处没把输入的全部指令都执行,只是做个演示,执行了前面几条)第二题写入内存:修改CS和IP:执行:最后,AX=0010,即算出第三题最后一行显示出了日期,但是这并不是电脑真正的生产日期。这个是在DOSBOX模拟器上运行的,并不是真正的电脑环境,所以......