寒假作业第61-80

第六十一题:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。(1不是质数,所以1也不是质因数)
#include<stdio.h>
void main()
{
int n,i;
printf("\nplease input a number:\n");
scanf("%d",&n);
printf("%d=",n);
for(i=2;i<=n;i++)
    while(n!=i)
        {
            if(n%i==0)
           { 
                printf("%d*",i);
                n=n/i;
            }
            else
                break;
        }
printf("%d",n);
}
第六十二题:/求一个3*3的整型矩阵对角线元素之和。
#include "stdio.h"
 void main()
 {
     int arr[3][3];
     int i,j;
     int sum=0; 
     printf("please input the arr:\n");
     for(i=0;i<3;i++)
         for(j=0;j<3;j++)
             scanf("%d",&arr[i][j]);
     for(i=0;i<3;i++)
       {
        for(j=0;j<3;j++)
             printf("%5d",arr[i][j]);
         printf("\n");   
      }  
     for(i=0;i<3;i++)
        for(j=0;j<3;j++)
           if(i==j)
                 sum+=arr[i][j];
    printf("\n the sum is %d\n",sum);
}
第六十三题:编写程序,将两个字符串连接起来,不用strcat函数。
#include"stdio.h"
void main()
{
   char str1[50],str2[50],str[50];
   int i=0,j=0,k=0;
   printf("输入第一个字符串:\n");
   gets(str1);
   printf("输入第二个字符串\n");
   gets(str2);
   printf("str1=%s\n",str1);
   printf("str2=%s\n",str2);
   while(str1[i])
      str[k++]=str1[i++];
   while(str2[j])
       str[k++]=str2[j++];
   str[k]=str2[j];
   printf("str=%s",str);
}
第六十四题:从一个三行四列的整型二维数组中查找第一个出现的负数。 
#include<stdio.h>
int main()
{
    int a[3][4];
    int i,j;
    for(i=0;i<3;i++)
        for(j=0;j<4;j++)
            scanf("%d",&a[i][j]);
    int flag=1;
    for(i=0;i<3&&flag;i++)
        for(j=0;j<4;j++)
            if(a[i][j]<0)
            {
               printf("第一个负数是:%d\n",a[i][j]);
               flag=0;
               break;
            }
    if(flag)
       printf("该数组中没有负数\n");
}
第六十五题:求PI的近似值。
#include"stdio.h"
#include"math.h"
void main()
{
    double pi,p=0,i=1,x=1;
    int f=1;
    while(fabs(i)>=1e-6)
    {
        p+=i;
        x+=2;
        f=-f;
        i=f/x;
    }
    pi=p*4;
    printf("pi=%f\n",pi); 
 } 
第六十六题:有3个字符串,要求找出其中最大者。
#include<stdio.h>
#include<string.h>
int main()
{
    char str[3][20];
    char string[20];
    int i;
    for(i=0;i<3;i++)
    {
        gets(str[i]);
    }
    if(strcmp(str[0],str[1])>0)
        strcpy(string,str[0]);
    else
        strcpy(string,str[1]);
    if(strcmp(str[2],string)>0)
        strcpy(string,str[2]);
    printf("输入的三个字符串中最大的字符串是%s\n",string);
}
第六十七题:从键盘输入若干行文本,每行以回车结束,以 ctrl+z 作为输入结束符,统计其行数。 
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
int main()
{
    int c,num=0;
    while(1)
        {
            c=getche();
            if (c==13)
                {
                    printf("\n");
                    num++;
                }
            if(c==26)
                {
                    printf("\n您输入了 %d 行\n",++num);
                    exit(1);
                }
        }
}
第六十八题:从键盘输入字符,以 ctrl+z 结束,统计输入的数字 09、空白符和其它字符的个数。
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
int main()
{
    int counter_num=0,counter_space=0,counter_other=-1;
    char c;
    while(1)
        {
            c=getche();
            if (c>='0'&&c<='9')
                counter_num++;
            else if (c==' ')
                counter_space++;
            else 
               counter_other++;
            if(c==26)
                {
                   printf("\n\ncounter_num=%d\tcounter_space=%d\t,counter_other=%d\n",counter_num,counter_space,counter_other);
                    exit(1);
                }
        }
}
第六十九题:键盘输入一个字符串(长度不超过20,其中不含空格),将其复制一份,复制时将小写字母都转换成为大写字母。
#include <stdio.h>
void main()
{
    char a[20];
    int i;
    printf("请输入一个由英文字母构成的字符串:\n");
    gets(a);
    for (i=0;i<20;i++)
        if(a[i]>='a'&&a[i]<='z')
            a[i]-=32;
    a[20]='\0';
    puts(a);
}
第七十题:从一个三行四列的整型二维数组中查找第一个出现的负数。
#include<stdio.h>
int main()
{
    int a[3][4];
    int i,j;
    for(i=0;i<3;i++)
        for(j=0;j<4;j++)
            scanf("%d",&a[i][j]);
    int flag=1;
    for(i=0;i<3&&flag;i++)
        for(j=0;j<4;j++)
            if(a[i][j]<0)
            {
               printf("第一个负数是:%d\n",a[i][j]);
               flag=0;
               break;
            }
    if(flag)
       printf("该数组中没有负数!!!\n");
}
第七十一题:用while语句显示1~10的平方。
#include"stdio.h"
void main()
{
    int i=1;
    while(i<=10)
    {
        printf("%d*%d=%d\n",i,i,i*i);
        i++; 
    }
}
第七十二题:从键盘输入一组数据,以0结束输入,求数据和。
#include"stdio.h"
void main()
{
    int sum=0;
    int num;
    while(1)
    {
         scanf("%d",&num);
         if(num==0)
             break;
         else
             sum+=num;
    }
    printf("sum=%d\n",sum);
}
第七十三题:输入一个整数,判断它能否被357整除,并输出以下信息之一: 

(1)能同时被357整除; 

(2)能被其中两数(要指出哪两个)整除;

(3)能被其中一个数(要指出哪一个)个整除;

(4)不能被357任一个整除。
#include"stdio.h"
void main()
{
    int num;
    printf("please input a num:\n");
    scanf("%d",&num);
    if(num%3==0&&num%5==0&&num%7==0)
       printf("%d可以被3、5、7整除!\n",num);
    else if(num%3==0&&num%5==0)
       printf("%d可以被3、5整除!\n",num);
    else if(num%3==0&&num%7==0)
       printf("%d可以被3、7整除!\n",num);
    else if(num%7==0&&num%5==0)
       printf("%d可以被5、7整除!\n",num);
    else if(num%3==0)
       printf("%d可以被3整除!\n",num);
    else if(num%5==0)
       printf("%d可以被5整除!\n",num);
    else if(num%7==0)
       printf("%d可以被7整除!\n",num);
    else 
       printf("%d不可以被3、5、7任何一个数整除!\n",num);
}
第七十四题:输入一个年份,判断某一年是否闰年。
#include"stdio.h"
void main()
{
    int year;
    printf("please input the year:\n");
    scanf("%d",&year);
    if(year%4==0&&year%100!=0||year%400==0)
        printf("YES!!!\n");
    else
        printf("NOS!!!\n");
}
第七十五题:打印如下图形:
#include"stdio.h"
void main()
{
    int i,j;
    for(i=1;i<=5;i++)
    {
        for(j=1;j<=6-i;j++)
           printf(" ");
        for(j=1;j<=5;j++)
            printf("*");
        printf("\n");
    }   
}
第七十六题:打印如下图形:
#include"stdio.h"
void main()
{
    int i,j;
    for(i=1;i<=5;i++)
    {
        for(j=1;j<=i;j++)
           printf(" ");
        for(j=1;j<=5;j++)
            printf("*");
        printf("\n");
    }   
}
第七十七题:
#include"stdio.h"
void main()
{
    int i,j;
    for(i=1;i<=6;i++)
    {
        if(i%2==0)
        {
           for(j=1;j<=2;j++)
                 printf(" ");
           for(j=1;j<=6;j++)
                 printf("*");
           printf("\n");
        }
        else
        {
            for(j=1;j<=6;j++)
                 printf("*");
            printf("\n");
        }
    }   
}
第七十八题:打印下面的图形
#include"stdio.h"
void main()
{
    int i,j;
    for(i=1;i<=5;i++)
    {
        for(j=1;j<=2*i-1;j++)
            printf("*");
        printf("\n");
    }   
}
第七十九题:从键盘上任意输入两位正整数,编程求出个位与十位的乘积且打印输出。
#include"stdio.h"
void main()
{
    int num;
    printf("please input the num:\n");
    scanf("%d",&num);
    printf("the result is :%d\n",(num%10)*(num/10));
}
第八十题:求方程ax2+bx+c=0的根,设b2-4ac>0,a,b,c由键盘输入(列如,输入1  3  2,可得x1=-1.00,x2=-2.00#include<stdio.h>
#include<math.h>
int main()
{
    float a,b,c,disc,x1,x2,p,q;
    disc=0;
    scanf("%f%f%f",&a,&b,&c);
    disc=b*b-4*a*c;
    p=-b/(2.0*a);
    q=sqrt(disc)/(2.0*a);
    x1=p+q;
    x2=p-q;
    printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值