首页 > 其他分享 >实验三

实验三

时间:2024-10-29 17:43:41浏览次数:3  
标签:return int ans char score 实验 printf

任务1

 

源代码

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

 

运行结果

 回答问题

问题1:函数score_to_grade的功能是输入一个成绩后判断其等级

             形参类型是int,返回值类型是char

问题2:有问题,没有break;输入成绩后会输出下面所有等级

 

任务2

 

源代码

#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/=10;
    }
    return ans;
}

 

运行结果

 回答问题

问题1:输入n,将n的个位到最高位数字相加并返回

问题2:能实现,一个是循环迭代,一个是递归

任务3

 

源代码

#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;
        
    }
}

 

运行结果

 回答问题

问题1:求出x的n次方

问题2:是递归函数,

 

任务4

 

源代码

 

#include<stdio.h> 
#include<math.h>
int is_prime(int n);
int main(){
    printf("100以内的孪生素数:\n");
    int i,k=0;
    for(i=2;i<=100;++i){
        if(is_prime(i)&&is_prime(i+2)){
        printf("%d %d\n",i,i+2);
        k++;
    }
}
    printf("100以内的孪生素数共%d对\n",k);
     return 0;   
}
int is_prime(int n) {
    int m=sqrt(1.0*n);
    int x;
    for(x=2;x<=m;x++){
        if(n%x==0){
        break;
    }
    }
    if(x>m)
    return 1;
    else
    return 0;
}

 

运行结果

 

 

任务5

 

源代码

 

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

 

运行结果

 

 

任务6

源代码

 

#include<stdio.h>
int func(int n,int m);
int func1(int a);
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){
    int ans;
    func1(n);
    func1(m);
    func1(n-m);
    ans=func1(n)/func1(m)/func1(n-m);
    return ans;
}
int func1(int a){
    int i;
    int sum=1;
    for(i=1;i<=a;i++){
    sum*=i;
}
    return sum; 
}

 

运行结果

 

源代码

#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){
    int ans;
    if((n==1&&m==1)||m==0){
        ans=1;
        return ans;
    }
    else if(n<m){
        ans=0;
        return ans;
    }
    else{
    ans=func(n-1,m)+func(n-1,m-1);
}
    return ans;
}

 

运行结果

 

任务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,a;
    for(i=n;i>0;i--)
    {
        for(j=0;j<a;j++)
            printf("\t");
        for(j=0;j<2*i-1;j++)
               printf(" O \t");
            printf("\n");
        for(j=0;j<a;j++)
            printf("\t");
        for(j=0;j<2*i-1;j++)
               printf("<H>\t");
            printf("\n");
        for(j=0;j<a;j++)
            printf("\t");    
        for(j=0;j<2*i-1;j++)
               printf("I I\t");
            printf("\n");
            a++;
}
}

 

运行结果

 

 

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

相关文章

  • 实验3 C语言函数应用编程
    1.实验任务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",score,grad......
  • 实验三
     task1score_to_grade作用:将输入的分数进行分等级输出形参类型:整形返回值类型:字符串如果改变函数定义,去掉line21-line28的break,程序将在每一此输入数值后继续进行输出,不能及时跳出switchtask2sum_digits的作用:将输入数据的每位上的数字加起来输出改变之后依然能够实......
  • 实验三 JSP内置对象使用
    1.完整代码下载:实验三代码2.完整代码下载:实验四代码2.导入代码到eclipse运行【如何处理导入后的报错】......
  • 实验四 JavaBean及Servlet使用
    1.完整代码下载:实验三代码2.完整代码下载:实验四代码2.导入代码到eclipse运行【如何处理导入后的报错】......
  • 实验3
    task1#include<stdio.h>charscore_to_grade(intscore);//函数声明intmain(){intscore;chargrade;while(scanf("%d",&score)!=EOF){grade=score_to_grade(score);//函数调用printf("分数:%d,等级:......
  • 实验3
    task1源代码1#include<stdio.h>23charscore_to_grade(intscore);45intmain(){6intscore;7chargrade;89while(scanf("%d",&score)!=EOF){10grade=score_to_grade(score);11printf("分数:%d,等级:%c\n\n",score......
  • 实验2 类和对象_基础编程1
    任务1:源代码:t.h1#pragmaonce23#include<string>45classT{6public:7T(intx=0,inty=0);8T(constT&t);9T(T&&t);10~T();1112voidadjust(intratio);13voiddisplay()const;1415......
  • 实验3
    实验一:1#include<stdio.h>23charscore_to_grade(intscore);45intmain(){6intscore;7chargrade;89while(scanf("%d",&score)!=EOF){10grade=score_to_grade(score);11printf("分数:%d,等级:%c\n\n"......
  • 记一个mysql 主从切换的实验记录
    一、前言msyql切换主库一般都是用高可用方案,例如MHA,MGR,高可用方案可以自动切主,但是MHA的failover功能无法把旧主自动挂到新主上作为从库使用,所以发生failover后,还需要手动把旧的主库作为备库挂到新的主库上。此时常规操作就是备份新主库,然后应用到旧主库上,然后再重新搭建主从。......
  • 实验2 类和对象 基础编程1
    实验任务1:源代码t.h:点击查看代码#pragmaonce#include<string>//类T:声明classT{//对象属性、方法public:  T(intx=0,inty=0); //普通构造函数  T(constT&t); //复制构造函数  T(T&&t);   //移动构造函数  ~T();     //析......