C语言编程计算?

Python014

C语言编程计算?,第1张

这个是c++的,你要c的话,可以自己把前后的输入输出改成scanf和printf,把头文件改成iostream.h 和 math.h

#include <iostream>

#include <cmath>

using namespace std

int main(){

double x,y,temp

cin>>x

if( x<-1 ){

y= x*x*x -1

} else if(x>=-1 &&x<=1){

y= -3*x + 1

} else if(x>1 &&x<=10){

temp= 2*x-1

y= 3 * log(temp)+5

} else if(x >10){

temp = 2*x*x -1

y= 5*x + 3*log10(temp) -13

}

cout<<y

return 0

}

#include<stdio.h>

void main()

{

 int i,j,k,a=5,m[6][6]  

  i=1//初始化i的值为1  

  k=(a+1)/2//初始化k的值为(a+1)/2,即k=3  

  /*循环过程如下:  

  j=1, m[1][3]=1, k=4,i=5,a=5  

  j=2, m[5][4]=2, k=5,i=4,a=5  

  j=3, m[4][5]=3, k=1,i=3,a=5  

  j=4, m[3][1]=4, k=2,i=2,a=5  

  j=5, m[2][2]=5, k=2,i=3,a=5 执行第一个if语句,continue了  

  j=6, m[3][2]=6, k=3,i=2,a=5  

  j=7, m[2][3]=7, k=4,i=1,a=5  

  j=8, m[1][4]=8, k=5,i=5,a=5  

  j=9, m[5][5]=9, k=1,i=4,a=5  

  j=10,m[4][1]=10,k=1,i=5,a=5 执行第一个if语句,continue了  

  j=11,m[5][1]=11,k=2,i=4,a=5 

  j=12,m[4][2]=12,k=3,i=3,a=5  

  j=13,m[3][3]=13,k=4,i=2,a=5  

  j=14,m[2][4]=14,k=5,i=1,a=5  

  j=15,m[1][5]=15,k=5,i=2,a=5 执行第一个if语句,continue了  

  j=16,m[2][5]=16,k=1,i=1,a=5  

  j=17,m[1][1]=17,k=2,i=5,a=5  

  j=18,m[5][2]=18,k=3,i=4,a=5  

  j=19,m[4][3]=19,k=4,i=3,a=5  

  j=20,m[3][4]=20,k=4,i=4,a=5 执行第一个if语句,continue了  

  j=21,m[4][4]=21,k=5,i=3,a=5  

  j=22,m[3][5]=22,k=1,i=2,a=5  

  j=23,m[2][1]=23,k=2,i=1,a=5  

  j=24,m[1][2]=24,k=3,i=5,a=5  

  j=25,m[5][3]=25,k=3,i=4,a=5  

  j=26退出循环  */  

     for(j=1j<=a*aj++) //从1到25循环  

  {

         m[i][k]=j  //将循环的索引值j赋值给数组m的第i行第k列   

   if(j%a==0)

   {

    i=(i%a)+1

    continue

   }

   k=(k%a)+1

   i--

   if(i==0)

    i=a

  }

  /*执行结果为:

  17  24   1   8  15

  23   5   7  14  16

  4    6  13  20  22

  10  12  19  21   3

  11  18  25   2   9

  */

  for(i=1i<=ai++)//从1到5循环:控制行 

  {

   for(j=1j<=aj++)//内层从1到5循环:控制列   

    printf("%4d",m[i][j])//以4位整数输出数组中第2行第2列的值到数组最后的值  

   printf("\n")//行结束打印换行符    

  }

 }