ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

实验3

2021-04-11 21:36:32  阅读:126  来源: 互联网

标签:main int double %. 实验 printf include


task1

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 5

int main()
{
    int x, n;
    srand(time(0));
    for(n=1;n<=N;n++){
        x = rand()%100;
        printf("%3d",x);
    }
    printf("\n");
system("pause");
return 0;
}

task2

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int luckday,x,i;
srand(time(0));
luckday = rand()%31+1;
printf("猜猜2021年5月哪一天会是你的luckday\n开始喽,你有三次机会,猜吧(1~31):");
for(i=1;i<=3;i++){
	scanf("%d",&x);
	if(x>luckday)
		printf("你猜的日期晚了,luck day 悄悄溜到前面啦\n再猜(1~31):");
	
	else if(x<luckday)
		printf("你猜的日期早了,luckday还没到呢\n再猜(1~31)");
	else
		break;
}
if(i>3)
	printf("次数用完啦。偷偷告诉你:5月,你的luckday是%d号",luckday);



	system("pause");
	return 0;
}

  

task3

#include<stdio.h>
#include<stdlib.h>
int main()
{
    long int s,sum=0;
    int m,i=1,n;
    //m用于储存取出来的数字//
    
    printf("Enter a number:");
    scanf("%ld",&s);
    do{
        m=s%10;
        s=s/10;
        if(m%2!=0){
            sum+=m*i;
            i*=10;}
        
    }while(s!=0);
printf("new number is:%ld\n",sum);
    

    system("pause");
    return 0;
}

task4

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
void solve(double a,double b,double c);

int main()
{
    double a,b,c;
    printf("Enter a,b,c:");
    while(scanf("%lf%lf%lf",&a,&b,&c)!=EOF)
    {
        solve(a,b,c);
        printf("Enter a,b,c:");
    }
    system("pause");
    return 0;
}
void solve(double a,double b,double c){
    double x1,x2;
    double delta,real,imag;
    if(a==0)
        printf("not quadratic equation.\n");
    else{
        delta = b*b- 4*a*c;
        if(delta>=0){
            x1 = (-b + sqrt(delta)) / (2*a);
            x2 = (+b + sqrt(delta)) / (2*a);
            printf("x1=%.2f,x2=%.2f\n",x1,x2);
        }
        else{
            real = -b/(2*a);
            imag=sqrt(-delta)/(2*a);
            printf("x1 = %.2f + %.2fi,x2 = %.2f - %.2fi\n",real,imag,real,imag);
        }
    }
}

task5

#include<stdio.h>
#include<stdlib.h>
double fun(int n);
int main()
{
    int n;
    double s;
    printf("Enter n(1~10):");
    while(scanf("%d",&n)!=EOF){
        s = fun(n);
        printf("n = %d,s= %f\n\n",n,s);
        printf("Enter n(1~10):");
    }
    system("pause");
    return 0;
}
double fun(int n){
  double sum=0,m=1;
  int i;
  for(i=1;i<=n;i++)
  {sum+=m;
  m=(-1)*m*1/(i+1);//求出每一项,每一项都是前一项的基础上进行计算,并且正负交替出现//
  }
 
  return sum;
}

task6

#include<stdio.h>
#include<stdlib.h>
int isPrime(int);
int main(){
    int i=0,x,sign,sum=0;
    for(x=101;x<=200;x++){
        sign=isPrime(x);
        if(sign==0){
            printf(" %d",x);
            i++;//计数器,统计共有多少个素数//
            x++;
            sum++;
            if(sum%5==0){//每五个换一行//
                printf(" \n");
            }
        }
    }
    printf("\n101~200的素数一共有%d\n",i);
    

    system("pause");
    return 0;
}
int isPrime (int x){//x能被多少个数除尽//
    int n=0,i;
    for(i=2;i<x;i++){
        if(x%i==0)
            n++;
    }return n;
}

task7

#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
void printCharMan(int line,int col);
void ptintSpaces(int n);

int main(){
    int line,col;
    for(line=5,col=5;col<=60;col++){
        printCharMan(line,col);
        Sleep(50);
        system("cls");
    }
}
void printSpaces(int n){
    int i;
    for(i=1;i<=n;i++)
        printf(" ");
}
void printCharMan(int line,int col){
    int i,j;
    for(i=1;i<=line-1;i++)
        printf("\n");
    printSpaces(col-1);
    printf(" o \n");
    printf("<H>\n");
    printSpaces(col-1);
    printf("I I\n");
}

小结:

1.for循环中间应用分号隔开
2.多个条件时,可以不在后面加{ },直接printf加分号结束该语句,继续else if。
3.任务2如果第三次也猜错了的话不再输出“再猜”不会解决。
do{ }while注意大括号的位置,不在while之后
4.任务3中只能完成一次,若直接放入for循环,第二次输出的数是在第一次的基础之上,无法重新输出一个新的数,输入如果为字符,输出不正确
5.while(scanf("%d",&x)!=EOF)可用于crrl+z终止循环

标签:main,int,double,%.,实验,printf,include
来源: https://www.cnblogs.com/zhangxinyuaidaqiu/p/14645550.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有