【C語言網】基礎題集訓練詳解(四)
題目目錄
-
- 【C語言網】基礎題集訓練詳解(四)
- 前言
- 一、題目1024 [程式設計入門]矩陣對角線求和
- 二、題目1025 [程式設計入門]數組插入處理
- 三、 題目1026 [程式設計入門]數字逆序輸出
- 四、 題目1028 [程式設計入門]求一進制二次方程實根(複數)
- 五、 題目1030 [程式設計入門]二維數組的轉置
- 總結
前言
C語言程式設計訓練日常,用于記錄自身所學,歸納總結。
本篇文章代碼依舊采用的是vs2022版編譯器,scanf 據編譯器要求改為了scanf_s.
一、題目1024 [程式設計入門]矩陣對角線求和
題目:
代碼詳解:
#include<stdio.h>//矩陣對角線求和
int main()
{
int i, j; int a[3][3];
for (i = 0; i <= 2; i++)
for (j = 0; j <= 2; j++)
scanf_s("%d", &a[i][j]);
printf("原矩陣為:\n");
for (i = 0; i <= 2; i++)
{
for (j = 0; j <= 2; j++)
printf("%2d", a[i][j]);
printf("\n");
}
printf("主對角線之和:%d\n", a[0][0]+a[1][1]+a[2][2]);
printf("副對角線之和:%d", a[0][2]+a[1][1]+a[2][0]);
return 0;
}
二、題目1025 [程式設計入門]數組插入處理
題目:
代碼詳解:
#include<stdio.h>//數組插入處理
int main()
{
int a[10]; int i,n,t=-1;
printf("請升序輸入9個數字:\n");
for (i = 0; i < 9; i++)
scanf_s("%d",&a[i]);
printf("請輸入要插入的數:");
scanf_s("%d",&n);
for (i = 0; i < 9; i++)
if (a[i] < n) t++;
if (t + 1 == 9) a[9] = n;
else if (t + 1 >= 0 && t + 1 <= 8)
for (i = 8; i >= t+1; i--)
a[i + 1] = a[i];
a[t + 1] = n; printf("\n");
printf("插入之後的序列為:");
for (i = 0; i <=9; i++)
printf("%5d", a[i]);
return 0;
}
三、 題目1026 [程式設計入門]數字逆序輸出
題目:
代碼解析:
#include<stdio.h>//數字逆序輸出
int main()
{
int a[10], i, j;
for (i = 0; i < 10; i++)
scanf_s("%d", &a[i]);
printf("逆序之後的序列為:\n");
for (j = 9; j >= 0; j--)
printf("%d ", a[j]);
return 0;
}
四、 題目1028 [程式設計入門]求一進制二次方程實根(複數)
題目:
求b^2-4ac大于0,等于0,小于0時的根,并輸出結果。
輸入格式:a,b,c
輸出格式:x1= ;x2= ;
代碼解析:
#include <stdio.h>//求一進制二次方程的實根(複數)
#include <math.h>
int main()
{
float a, b, c;
float P, Q, K, X;
printf("請輸入a,b,c的值:");
scanf_s("%f %f %f", &a, &b, &c); //輸入時以空格分隔
P = b * b - 4 * a * c; // ▲
Q = (-b) / (2 * a);
K = 2 * a;
X = sqrt(fabs(P)) / K;
if (P < 0) // ▲< 0 無實數根,2個共轭複根
printf("x1=%.3f+%.3fi x2=%.3f-%.3fi", Q, X, Q, X);
if (P == 0) // ▲ = 0 時,方程有兩個相等的實數根
printf("x1=%.3f x2=%.3f", Q + X, Q + X);
if (P > 0) // ▲ > 0 時,方程有兩個不相等的實數根
printf("x1=%.3f x2=%.3f", Q + X, Q - X);
return 0;
}
五、 題目1030 [程式設計入門]二維數組的轉置
題目:
代碼解析:
#include<stdio.h>//二維數組的轉置
void fun(int a[3][3])
{
int i,j, b[3][3];
for (i = 0; i <= 2; i++)
for (j = 0; j <= 2; j++)
b[j][i] = a[i][j];
printf("轉置後的矩陣為:\n");
for (i = 0; i <= 2; i++)
{
for (j = 0; j <= 2; j++)
printf("%3d", b[i][j]);
printf("\n");
}
return ;
}
int main()
{
int a[3][3]; int i,j;
for (i = 0; i <= 2; i++)
for (j = 0; j <= 2; j++)
scanf_s("%d",&a[i][j]);
fun(a);
return 0;
}
總結
C語言程式設計基礎,簡單運用。