首页 > 其他分享 >实验三

实验三

时间:2024-10-26 15:58:26浏览次数:1  
标签:return int ans char 实验 printf include

任务一

源代码:

 

# 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",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;    
    default: ans='E';
}
    return ans;
}

 

 

 

 

问题一:

功能:将分数转化为相应的等级 形参:整型 返回值:字符型

 

 

问题二:

 有问题,会无论输入什么数都会输出ABCDE,缺少了break的停止

 

任务二

源代码:

 

# include<stdio.h>
int sum_dights(int n);
int main()
{
    int n;
    int ans;
    while(printf("Enter n:"),scanf("%d",&n)!=EOF)
    {
        ans=sum_dights(n);
        printf("n=%d,ans=%d\n\n",n,ans);        
    }
    return 0;
}
int sum_dights(int n)
{
    int ans=0;
    while(n!=0)
    {
        ans+=n%10;
        n=n/10;
    }
    return ans;
}
    

 

 

 

 

问题一:

求每个数位上的数和

 

问题二:

能实现同等效果,一个为迭代一个为递归

 

 

任务三

源代码:

 

#include<stdio.h>
int power(int x,int n);//函数声明
int main(){
int x,n;
int ans;
while(printf("Enterxandn:"),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次方

 

问题二:

 为递归函数

 

任务四

源代码:

 

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

 

 

 

运行结果:

 

 

任务五

源代码:

 

# include<stdio.h>
# include<stdlib.h>
int cnt=0;
void hanoi(unsigned int n,char from,char temp,char to);
void move_plate(unsigned int n,char from,char to);
int main()
{
    unsigned int n;
    while(scanf("%u",&n)!=EOF)
    {
    cnt=0;
    hanoi(n,'A','B','C');    
    printf("\n一共移动了%d次\n",cnt);
    }
    system ("pause");
    return 0;
}
void  hanoi(unsigned int n,char from,char temp,char to)
 {
   if(n==1)
  {
   move_plate(n,from,to);
}
   else
   {
       hanoi(n-1,from,to,temp);
       move_plate(n,from,to);
       hanoi(n-1,temp,from,to);
   }    
 }
void move_plate(unsigned int n,char from,char to)
 {
     printf("%u:%c-->%c\n",n,from,to); 
     cnt++;
 }

 

 

运行结果:

 

 

 

任务六

源代码1:

 

# include<stdio.h>
int func(int n,int m);//函数声明
int main(){
int n,m;
int ans;
while(scanf("%d%d",&n,&m)!=EOF){
ans=func(n,m);//函数调用
printf("n=%d,m=%d,ans=%d\n\n",n,m,ans);
}
return 0;
}

int jc(int x)
{
    int i,p=1;
    for(i=1;i<=x;i++)
    p*=i;
    return p;
    
}
int func(int n,int m)
{
    int ans;
    ans=jc(n)/jc(m)/jc(n-m);
    return ans;

}

 

 

运行结果:

 

 

 

源代码2:

 

# include<stdio.h>
int func(int n,int m);//函数声明
int main(){
int n,m;
int ans;
while(scanf("%d%d",&n,&m)!=EOF){
ans=func(n,m);//函数调用
printf("n=%d,m=%d,ans=%d\n\n",n,m,ans);
}
return 0;
}
int func(int n,int m)
{
    if(m==0||m==n)
    return 1;
    else 
    return func(n-1,m)+func(n-1,m-1); 
}

 

 

 

运行结果:

 

 

 

任务七

源代码:

#include <stdio.h>
#include <stdlib.h>

char print_charman(int n);

int main() {
    int n;

    printf("Enter n: ");
    scanf("%d", &n);
    print_charman(n);

    return 0;
}
char print_charman(int n)
{
    int i,j1,j2,j3,j4,m,p;
    p=n;
    for(i=1;i<=p;i++)
    {
         for(j4=1;j4<=p-n;j4++)
       printf("    ");
       for(j1=1;j1<=(2*n-1);j1++)
       printf(" O  ");
       printf("\n");
        for(j4=1;j4<=p-n;j4++)
       printf("    ");
       for(j2=1;j2<=(2*n-1);j2++)
       printf("<H> ");
       printf("\n");
        for(j4=1;j4<=p-n;j4++)
       printf("    ");
       for(j3=1;j3<=(2*n-1);j3++)
       printf("I I ");
       printf("\n");
       n--;
}
    
}

 

 

 

输出结果:

 

标签:return,int,ans,char,实验,printf,include
From: https://www.cnblogs.com/hshnbnb666/p/18499544

相关文章

  • 实验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......
  • 实验三
    实验任务11#include<stdio.h>2#include<stdlib.h>3charscore_to_grade(intscore);4intmain(){5intscore;6chargrade;78while(scanf("%d",&score)!=EOF){9grade=score_to_grade(score);1......
  • OOP实验二
    任务1源码:1#pragmaonce23#include<string>45//类T:声明6classT{7//对象属性、方法8public:9T(intx=0,inty=0);//普通构造函数10T(constT&t);//复制构造函数11T(T&&t);//移动构造函数12~T();......