首页 > 其他分享 >实验三

实验三

时间:2024-10-26 17:35:53浏览次数:5  
标签:return int ans char score 实验 printf

#include<stdio.h>

char score_to_grade(int score);

int main()
{
    int score;
    char grade;

    while(scanf("%d",&score)!=EOF)
    {
        grade=score_to_grade(score);
        printf("分数:%d,等级:%c\n\n",score,grade);
    }
    return 0;
}
char score_to_grade(int score)
{
    char ans;
    
    switch(score/10)
    {
    case 10:
    case 9:ans='A';break;
    case 8:ans='B';break;
    case 7:ans='C';break;
    case 6:ans='D';break;
defult: ans='E';
    }
    return ans;
}
  

根据分数判断等级

形式参数为int

返回值为char

没有break程序将继续执行

实验二

#include<stdio.h>

int sum_digits(int n);

int main()
{
    int n;
    int ans;

    while(printf("Enter n:"),scanf("%d",&n)!=EOF)
    {    
        ans = sum_digits(n);
    
        printf("n=%d,ans=%d\n\n",n,ans);
    }
        return 0;
}
   
    
    

int sum_digits(int n)
{
    int ans=0;
    while(n!=0)
    {
        ans+=n%10;
        n/=10;
    }
    return ans;
}

计算各个位数的和

第一个为递归函数,一直执行到n为0,将其最后一位加到ans上;第二个为迭代函数,除去最后一位数再次使用函数,并加上个位数。

实验三

#include<stdio.h>

int power(int x,int n);

int main()
{
    int x,n;
    int ans;

    while(printf("Enter x and n:"),scanf("%d %d",&x,&n)!=EOF)
    {
        ans =power(x,n);
        printf("n=%d,ans=%d\n\n",n,ans);
    }
    return 0;
}
int power(int x,int n)
{
    int t;

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

结果

 

 

 

求x的n次方

n为0时返回

n为奇时,使用power(x,n-1),并乘x;

n为偶,使用power(x,n/2),并平方;

实验4

#include <stdio.h>
  
  int is_prime(int n)
  {
     if(n == 1||n == 2)
      return 0;
      else
      {
          int i;
         for(i = 2;i <= n/2;i ++)
         {
             if(n%i == 0)
             return 0;
         }
         return 1;
     }
 }
 
 int main()
 {
     int i, sum = 0;
     printf("100以内的孪生素数:\n");
     for(i = 1;i <= 98;i ++)
     {
         if(is_prime(i)&&is_prime(i+2))
         {
             printf("%d %d\n", i, i+2);
             sum ++;
         }
     }
     printf("100以内的孪生素数共有%d个.",sum);
 }

结果

实验五

#include<stdio.h>
int t=1;
void hanoi(unsigned n,char a,char b,char c)
{
    if (n == 1) {
        printf("%d:将第%d个盘子从%c移动到%c\n", t, n, a, c);
        t++;
        return;
    }
    else  {
        hanoi(n - 1, a, c, b);
        printf("%d:将第%d个盘子从%c移动到%c\n", t, n, a, c);
        t++;
        hanoi(n - 1, b, a, c);
    }
}

int main() {
    int n;
    int t;
    while (scanf("%d", &n) != EOF) {
        hanoi(n, 'A', 'B', 'C');
        printf("\n一共移动了%d次\n\n", t - 1);
        t=1;
        
    }
}

结果

实验6

#include<stdio.h>
int func(int n,int m);
int func1(int n,int m);

int main()
{
    int n,m;
    int ans;

    while(scanf("%d%d",&n,&m)!=EOF)
    {
        ans =func1(n,m);
        printf("n=%d,m+%d,ans = %d\n\n",n,m,ans);
    }
    return 0;
}
int func(int n,int m)
{
    int ans=1;
    for (int i = n; i >= (n - m + 1); i--) {
        ans *= i;
    }
    for (int i = m; i >= 1; i--) {
        ans /= i;
    }
    return ans;
}
int func1(int n, int m) {
    if (n == 0 && m != 0) {
        return 0;
    }
    if (m == 0) {
        return 1;
    }
    else {
        return func1(n - 1, m) + func1(n - 1, m - 1);
    }

}
    
    
        

结果

实验7

#include <stdio.h>
  #include <stdlib.h>
  void print_charman(int n);
  int main() {
  int n;
  printf("Enter n: ");
  scanf("%d", &n);
  print_charman(n); 
  return 0;
 }
 void print_charman(int n)
{
     int i,j,k;
     for(i=n;i>=1;i--){
             for(k=i;k<n;k++)
             {
                 printf("\t");
             }
             for(j=1;j<=2*i-1;j++)
             {
             printf(" o\t");    
             }
             printf("\n");    

 

for(k=i;k<n;k++)
             {
                 printf("\t");
             }
             for(j=1;j<=2*i-1;j++)
            {
             printf("<H>\t");    
             }
             printf("\n");    
             for(k=i;k<n;k++)
             {
                 printf("\t");
            }
             for(j=1;j<=2*i-1;j++)
            {
             printf("I I\t");
             }
             printf("\n");
             
    
         printf("\n");
     }
 }

结果

 

标签:return,int,ans,char,score,实验,printf
From: https://www.cnblogs.com/Faze11230426/p/18504230

相关文章

  • 第二章 实验任务
    第一题写入内存修改CS和IP执行(此处没把输入的全部指令都执行,只是做个演示,执行了前面几条)第二题写入内存:修改CS和IP:执行:最后,AX=0010,即算出第三题最后一行显示出了日期,但是这并不是电脑真正的生产日期。这个是在DOSBOX模拟器上运行的,并不是真正的电脑环境,所以......
  • 实验三
    任务一源代码: #include<stdio.h>charscore_to_grade(intscore);intmain(){intscore;chargrade;while(scanf("%d",&score)!=EOF){grade=score_to_grade(score);printf("分数:%d,等级:%c\n",score,grade);}re......
  • 实验2 类和对象_基础编程1
    实验任务一源码1#pragmaonce23#include<string>45classT{6public:7T(intx=0,inty=0);8T(constT&t);9T(T&&t);//移动构造函数10~T();11voidadjust(intratio);//按系数成倍调整数据12voiddisplay()con......
  • 实验文档3
    关于第三次实践课作业实验结论task1.c1#define_CRT_SECURE_NO_WARNINGS2#include<stdio.h>3charscore_to_grade(intscore);4intmain(){5intscore;6chargrade;78while(scanf("%d",&score)!=EOF)9{10......
  • 实验5-3 使用函数求Fibonacci数
    本题要求实现求Fabonacci数列项的函数。所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列。函数接口定义:intfib(intn);函数fib应返回第n项Fibonacci数。题目保证输入输出在长整型范围内。裁判测试程序样例:#include<stdio.h>intfib(int......
  • 浙大版《C语言程序设计实验与习题指导(第4版)实验6-6 使用函数验证哥德巴赫猜想
    本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。函数接口给定如下intprime(intp);voidGoldbach(intn);其中函数prime当用户传入参数p......
  • 实验三
    实验任务1源代码1#include<stdio.h>23charscore_to_grade(intscore);45intmain(){6intscore;7chargrade;89while(scanf("%d",&score)!=EOF){10grade=score_to_grade(score);11printf......
  • 实验2 类和对象_基础编程1
    任务1:t.h#pragmaonce#include<string>//类T:声明classT{//对象属性、方法public:T(intx=0,inty=0);//普通构造函数T(constT&t);//复制构造函数T(T&&t);//移动构造函数~T();//析构函数voidadjus......
  • 实验2 类和对象_基础编程1
    1.实验任务1t.h源代码:1#pragmaonce2#include<string>34//类T:声明5classT{6public:7//对象属性、方法8T(intx=0,inty=0);//普通构造函数9T(constT&t);//复制构造函数10T(T&&t);......
  • 程序设计实验2
    任务1task1.cpp1#include"t.h"2#include<iostream>34usingstd::cout;5usingstd::endl;67voidtest();89intmain(){10test();11cout<<"\nmain:\n";12cout<<"Tobjects......