首页 > 其他分享 >实验三

实验三

时间:2024-10-30 15:21:59浏览次数: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\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;
}

运行结果

 问题回答

无break,所以程序不终止,继续进行default的程序输出

取整10,得到该数字的十位数

实验二

源代码

#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.函数作用是使输入的数各个位相加求和

2.可以实现,一个是迭代,一个是递归

实验三

源代码

#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.是递归函数,因为他用函数一直推到一

3.n = 0, 输出1

n为偶数,n除以2后先算x的二分之n次方,再相乘·

n为奇数,先算x的(n-1)次方

实验四

源代码

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

  

运行结果

 

实验五

源代码

#include<stdio.h>
#include<stdlib.h>
void hanoi(unsigned int n,char from,char temp,char to);

void moveplate(unsigned int n,char from,char to);

int sum = 0;
int main(){
    unsigned int n;
    while(scanf("%d",&n) != EOF){ 
        hanoi(n,'A','B','C');
        printf("一共移动了%d次\n",sum);
        sum = 0;
        }
    system("pause");
    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);
     sum = sum + 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 func(int n,int m){
    int a,b=1,c=1;
   if (m > n)
   return 0;
   for(a = 0;a < m; a++)
    {
    	b = b * n--;
    	b = b / c++;}
    	
    	
	
    return b;
}

  

源代码递归

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

  

运行结果

 

实验七

源代码

运行结果

 

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

void print_charman(int n);
 
int main(){
	int n,i;
	printf("Enter n:");
	scanf("%d",&n);
	print_charman(n);
	
	return 0;
}
void print_charman(int n){
	int i,j;
	for(j = 0; j < n;j++){    
for(i=1;i<=j;i++)
    printf("   \t");
for (i=1;i<=2*(n-j)-1;i++)
    printf("O \t ");
printf("\n");
for(i=1;i<=j;i++)
    printf("   \t");
for (i=1;i<=2*(n-j)-1;i++)
    printf("<H>\t");
printf("\n");    
for(i=1;i<=j;i++)
    printf("   \t");
    for (i=1;i<=2*(n-j)-1;i++)
    printf("I I\t");
printf("\n");
}
}

  

 

 

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

相关文章

  • 实验2 类和对象_基础编程1
    实验任务1头文件#pragmaonce#include<string>//类T:声明classT{ //对象属性、方法public: T(intx=0,inty=0);//普通构造函数 T(constT&t);//复制构造函数 T(T&&t);//移动构造函数 ~T();//析构函数 voidadjust(intratio); voiddispla......
  • 实验3_C语言函数应用编程
    task1:输入分数,返回等级有问题。当输入高于E等级对应的分数时,函数返回值将是从该等级到E等级全部等级,如输入9将返回BCDE。 #include<stdio.h>charscore_to_grade(intscore);//函数声明intmain(){intscore;chargrade;while(scanf("%d",&score)!......
  • 实验3
    任务11#include<stdio.h>2charscore_to_grade(intscore);3intmain(){4intscore;5chargrade;6while(scanf("%d",&score)!=EOF){7grade=score_to_grade(score);8printf("分数:%d,等级:%c\n\n......
  • 20222313 2024-2025-1 《网络与系统攻防技术》实验三报告
    实验内容1.1实践内容正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧通过组合应用各种技术实现恶意代码免杀用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本1.2回答问题杀软是如何检测出恶意代码的?(1)特征码......
  • 软件设计--实验七
    实验7:单例模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解单例模式的动机,掌握该模式的结构;2、能够利用单列模式解决实际问题。 [实验任务一]:学号的单一仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。 类图:```mermaidclassDiagram......
  • 实验6:原型模式(向量的原型)
    [实验任务一]:向量的原型用C++完成数学中向量的封装,其中,用指针和动态申请支持向量长度的改变,使用浅克隆和深克隆复制向量类,比较这两种克隆方式的异同。 1.类图   2. 源代码(1) 浅克隆代码和运行结果#include<bits/stdc++.h>usingnamespacestd;classVector......
  • 实验7:单例模式(学号的单一 )
    [实验任务一]:学号的单一仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。1. 类图 1. 源代码//StudentID.javapackagetest7; publicclassStudentID{    privatestaticStudentIDinstance=null;    privateStringid;     privat......
  • 实验2
    任务一t.h#pragmaonce#include<string>//类T:声明classT{//对象属性、方法public:T(intx=0,inty=0);//普通构造函数T(constT&t);//复制构造函数T(T&&t);//移动构造函数~T();//析构函数voidad......
  • 实验2 类和对象
    实验任务1:t.h代码:1#pragmaonce2#include<string>3//类T:声明4classT{5//对象属性、方法6public:7T(intx=0,inty=0);//普通构造函数8T(constT&t);//复制构造函数9T(T&&t);//移动构造函数10~T();//析构函数11voidadjus......
  • 实验2 类和对象_基础编程1
    一、实验目的加深对OOP中类、对象的理解,能够解释类的封装、类的接口会使用C++语法规则正确定义、实现、测试类;会使用类创建对象,并基于对象编程针对具体问题场景,练习运用面向对象思维进行设计,合理利用C++语言特性(访问权限控制,static,friend,const),在数据共享和保护......