2019 C语言测试

    1. 求一元二次方程ax² + bx + c = 0的解  a,b,c为任意整数。(10分)
    2. 编写一个口令输入程序,让用户不停输入口令,直到输对为止,假设口令为456。(8分)
    3. 输出1000-9999之间能对3整除的回文数。(8分)
    4. (10分)

      定义一个结构体变量(包括年,月,日),计算该日在本年中是第几天(规定一月一日为第一天)(10分)

    5. 读入一个正整数 n(小于100),计算其各位数字之和,用汉语拼音写出和的每一位数字。
      ​  输入:
                94
          输出(每位数字中间加一个空格):
                yi san  /*(13)*/
      汉语拼音如下:(0:ling , 1:yi , 2:er , 3:san , 4:si , 5:wu ,
      6:liu , 7:qi , 8:ba , 9:jiu)(14分)
    6. 定义一个函数swap在swap函数的功能是将a 和 b的值进行交换,在主函数中先输出交换前的值,再输出交换后的值(用指针做)(6分)
    7. 输入十个整数,在函数fun()中将其排序为由小到大,在主函数中输出排序后的结果。
      10分)
    8. 编写一个函数fun()输出得到的字符串的长度和字符串的倒序(不能用String.h里的函数)。
      (12分)
    9. 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和(结果保留两位小数)。(12分)
    10. #include<stdlib.h>
      #include<stdio.h>
      #include<iostream>
      using namespace std;
      
      int main()
      {
          int a, b, c;
          double decide, x1, x2, m, n;
          cout << "求一元二次方程的解" << endl << "请输入系数a,b,c(用空格隔开)"<<endl;
          cin >> a >> b >> c;
          decide = (double)b * (double)b - 4 * (double)a * (double)c;
          if (decide < 0)
          {
              printf("当前方程无解 
      ");
          }
          else if (decide < 0)
          {
              m = -b / (2 * a);
              n = sqrt(decide) / (2 * (double)a);
              x1 = m + n;
              cout << "当前一元二次方程有两个相同的解" << x1;
          }
          else if(decide >0)
          {
              m = -b / (2 * a);
              n = sqrt(decide) / (2 * (double)a);
              x1 = m + n;
              x2 = m - n;
              printf("一元二次方程的解是:
      x1=%.2f
      x2=%.2f
      ", x1, x2);
              system("pause");
          }
          return 0;
      }
      #include<iostream>
      #include<stdlib.h>
      #include<stdio.h>
      using namespace std;
      
      int main()
      {
          int b;
          cout << "请输入口令
      ";
          while (1)
          {
              cin >> b;
              if (b == 456)
              {
                  break;
              }
              else
              {
                  cout << "输入错误,请再来一次
      ";
              }
          }
          system("color 02");
          cout << "输入正确";
      }
      #include<iostream>
      #include<stdlib.h>
      #include<stdio.h>
      using namespace std;
      
      int main()
      {
          cout << "这个程序将输出000-9999之间能对3整除的回文数";
          int a, i = 0;
              for(a=1000;a<10000;a++)
              {
                  if(a/1000==a/1%10 && a/100%10==a/10%10 && a%3==0)
                  {
                      cout << i;
                      printf("%5d
      ", a);
                      i++;
                  }
              }
      }
      #include<stdlib.h>
      #include<stdio.h>
      #include<iostream>
      using namespace std;
      
      float chufa(int n)
      {
          float sum ;
          sum = 1.0;
          int m=0;
          for (int i = 1; i <= n; i++)
          {
              m = m + i;
          }
          sum = sum / m;
          return sum;
      }
      
      int main()
      {
          int m,s=1;
          float summary=0;
          cin >> m;
          for (s; s <= m; s++)
          {
              summary = chufa(s)+summary;
          }
          cout << summary;
          return 0;
      }
      #include<iostream>
      #include<stdio.h>
      #include<cmath>
      using namespace std;
      
      /*定义一个结构体变量(包括年,月,日),计算该日在本年中是第几天(规定一月一日为第一天)。(10分)*/
      struct book
      {
          int year=2019;
          int month;
          int day;
      };
      int main()
      {
          struct book a;
          int n;
          cout << "请输入月和日" << endl;
          cin >> a.month >> a.day;
          if (a.month < 0 || a.month>12)
          {
              cout << "月份输入错误
      ";
          }
          if (a.day < 0 || a.day>31)
          {
              cout << "日子输入错误
      ";
          }
          if (a.month > 0 && a.month < 13 && a.day>0 && a.day < 30)
          {
              n = a.day + 30 * a.month;
              cout << "这是一年中的第" << n << "" << endl;
          }
          else
          {
              cout << "数据输入有误,请再次输入";
          }
          return 0;
      }
      #include<stdlib.h>
      #include<string.h>
      #include<stdio.h>
      #include<iostream>
      using namespace std;
      
      
      int main(void)
      {
          int s,a,b,c,m,n,sum;
          const char r[10][30] = { "ling","yi","er","san","si","wu","liu","qi","ba","jiu" };
          cout << "请输入一个小于100的正整数"<<endl;
          cin >> s;
          if (s > 0 && s < 100)
          {
              a=s/10;
              b = s % 10;
              sum = a + b;
              m = sum / 10;
              n = sum % 10;
              cout << r[m] <<" "<<r[n];
          }
          else
          {
              cout << "请输入正确的数字";
          }
      
          return  0;
      }
      #include<iostream>
      #include<stdlib.h>
      #include<stdio.h>
      using namespace std;
      
      
      void swap_s(int * pa, int* pb)
      {
             int t = *pa;
              * pa = *pb;
              * pb = t;
      }
      
      
      int main()
      {
          int a , b ;
          int a1, b1;
          cout << "此程序将a 和 b的值进行交换,<<endl<<先输出交换前的值,再输出交换后的值"<<endl;
          cout << "请输入a b(用空格隔开)"<<endl;
          cin >> a >> b;
          a1 = a;
          b1 = b;
          swap_s(&a, &b);
          cout << a1 << "  " << b1 << endl;
          cout << a <<"  "<< b<<endl;
          return 0;
      }
      #include<stdlib.h>
      #include<stdio.h>
      #include<iostream>
      using namespace std;
      
      void fun()
      {
          int a[10];
          cout << "请输入10个整数(用空格隔开)" << endl;
          for (int u = 0; u <= 9; u++)
          {
              cin >> a[u];
          }
          int i, j;
          int temp;
          cout << "从小到大排序"<<endl;
          int n = 10;
          for (i = 0; i < n;i++)
          {
              for (j = n - 1; j > i; j--)//第一次循环是针对于a[9]的排序,以此类推
              {
                  if (a[j - 1] < a[j])
                  {
                      temp = a[j - 1];
                      a[j - 1] = a[j];
                      a[j] = temp;
                  }
              }
          }
          for (int w = 9; w >= 0; w--)
          {
              cout << a[w]<<endl;
          }
      }
      
      
      int main(void)
      {
          fun();
          return 0;
      }
      #include<stdlib.h>
      #include<stdio.h>
      #include<iostream>
      using namespace std;
      
      
      
      
      
      //void fun(char *a)
      void fun(char a[100])
      {
          int m, i;
          for (m = 0; m < 50; m++)
          {
              if (a[m] == '')
              {
                  cout << "字符串的长度为:" << m + 1 << endl;
                  break;
              }
          }
          for (i = m - 1; i >= 0; i--)
          {
              cout << a[i];
          }
      }
      
      
      
      int main()
      {
          char a[50];
          cout << "请输入字符串"<<endl;
          cin >> a;
          fun(a);
          return 0;
      }
      #include<iostream>
      #include<cmath>
      #include<stdio.h>
      using namespace std;
      int main()
      {
      
          int i, m = 2, n = 1, t;
          double s = 0.0;
          for (i = 1; i <= 20; i++)
          {
              s = s + (m * 1.0 / n);
              t  = m+n;
              n = m; m = t;
          }
          printf("前20项之和为:%.2lf", s);
          return 0;
      }
原文地址:https://www.cnblogs.com/Loving-Q/p/11991249.html