赞
踩
键盘录入一组数列,利用冒泡排序将数据由大到小排序
#include <stdio.h> int main() { int t[100], num, tmp; printf("请输入数字个数:"); scanf("%d", &num); printf("请输入%d个数字:\n", num); for (int i = 0; i < num; i++) { scanf("%d", &t[i]); } for (int i = 0; i < num; i++) { for (int j = 0; j < num - 1 - i; j++) { if (t[j] < t[j + 1]) { tmp = t[j]; t[j] = t[j + 1]; t[j + 1] = tmp; } } } printf("从大到小排序为:"); for (int i = 0; i < num; i++) { printf("%d ", t[i]); } printf("\n"); return 0; }
从键盘输入年、月、日,计算并输出该日是该年第几天
#include <stdio.h> int main() { int year, month, day, tmp = 0; int t[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; printf("请输入年,月,日:"); scanf("%d,%d,%d", &year, &month, &day); if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { t[1] = 29; } for (int i = 0; i < month - 1; i++) { tmp += t[i]; } tmp += day; printf("%d月%d日在%d年是第%d天\n", month, day, year, tmp); return 0; }
键盘录入一组数列,求最大数、最小数、均值
#include <stdio.h> int main() { int num, t[100]; double sum = 0.0; printf("请输入数列个数:"); scanf("%d", &num); printf("请输入数列:"); for (int i = 0; i < num; i++) { scanf("%d", &t[i]); sum += t[i]; } sum = 1.0 * sum / num; int max = t[0], min = t[0]; for (int i = 0; i < num; i++) { if (t[i] > max) { max = t[i]; } if (t[i] < min) { min = t[i]; } } printf("最大数:%d、最小数:%d、均值:%.2lf\n", max, min, sum); return 0; }
从键盘录入一组数列,判断是否是回文,举例:12321,abba,121
#include <stdio.h> #include <string.h> int main() { char a[100]; int isTure = 1; scanf("%s", & a); int len = strlen(a); for (int i = 0; i < len / 2; i++) { if (a[len - 1 - i] != a[i]) { isTure = 0; break; } } if (isTure) { printf("是回文数。", a); } else { printf("不是回文数。"); } return 0; }
用数组存储10个整型数,通过键盘输入一个数,找出该数在数组中的下标值;
#include <stdio.h> int main() { int t[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, a; printf("数组中10个整型数为:"); for (int i = 0; i < 10; i++) { printf("%d ", t[i]); } printf("\n请输入一个数:"); scanf("%d", &a); for (int i = 0; i < 10; i++) { if (a == t[i]) { printf("%d的下标为:%d\n", a, i); return 0; } } printf("没有这个数。\n"); return 0; }
通过键盘输入 10 个学员成绩:
1)输出不及格学员的成绩和下标。
2)求最高分的下标值
3)求最低成绩的下标值
4)求总成绩及平均成绩
#include <stdio.h> int main() { int num, t[100], sum; double m = 0.0; printf("请输入10名学生成绩:\n"); for (int i = 0; i < 10; i++) { scanf("%d", &t[i]); sum += t[i]; } m = 1.0 * sum / 10; int max = t[0], min = t[0]; for (int i = 0; i < 10; i++) { if (t[i] < 60) { printf("不及格,成绩为:%d,下标是:%d\n", t[i], i); } if (max < t[i]) { max = t[i]; } if (min > t[i]) { min = t[i]; } } printf("总成绩为:%d,平均成绩:%.2lf", sum, m); return 0; }
一个二维数组赋了初值,用户输入一个数,在该二维数组中查找。找到则返回行列位置,没找到则提示。
#include <stdio.h> int main() { int a[][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, r; printf("请输入要查的数:"); scanf("%d", &r); printf("存储的二维数组为:\n"); for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { printf("%3d ", a[i][j]); } printf("\n"); } for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { if (a[i][j] == r) { printf("%d在%d行%d列\n", r, i, j); return 0; } } } printf("没有这个数。\n"); return 0; }
二维整型数组,求所有元素平均值,求每行最大值,求每列最小值。
#include <stdio.h> int main() { int arr[100][100] = {0}, row, col; double sum=0; printf("请输入行,列:"); scanf("%d,%d", &row, &col); printf("请输入一个二维数组"); for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { scanf("%d", &arr[i][j]); sum+=arr[i][j]; } } printf("平均值为:%.2lf",sum/(row*col)); int rmax, cmin ; for (int i = 0; i < row; i++) { rmax = arr[i][0]; for (int j = 0; j < col; j++) { if (rmax < arr[i][j]) { rmax = arr[i][j]; } } printf("第%d行的最大值为:%d\n", i, rmax); } for (int j = 0; j < col; j++) { cmin = arr[0][j]; for (int i = 0; i < row; i++) { if (cmin > arr[i][j]) { cmin = arr[i][j]; } } printf("第%d列的最小值为:%d\n", j + 1, cmin); // 输出列号时加1以使其从1开始 } return 0; }
在行列相等数组计算主对角线元素的和
#include <stdio.h> int main() { int arr[][3] = {{1, 2, 3}, {4, 5, 6,}, {7, 8, 9}}, tmp = 0; printf("数组为:\n"); for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { printf("%3d", arr[i][j] ); } printf("\n"); } for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { if (i == j) { tmp += arr[i][j]; } } } printf("主对角线元素的和为:%d\n", tmp); return 0; }
计算一个矩阵下三角元素的和
#include <stdio.h> int main() { int arr[][4] = {{1, 2, 3, 4}, { 5, 6, 7, 8}, { 9, 10, 11, 12}, {13, 14, 15, 16}}, tmp = 0; printf("数组为:\n"); for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { printf("%3d", arr[i][j] ); } printf("\n"); } for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { if (i <= j) { tmp += arr[i][j]; } } } printf("矩阵下三角元素的和为:%d\n", tmp); return 0; }
电影院为了答谢影迷的支持,在某一排的某一列座位上放置了一个大礼包,放置礼物的位置具有这样的规则(行和列的平方和为开店日期 512(5月12日));请设计程序找出大礼包的位置,(假定电影院有20排,每排25个座位)
#include <stdio.h>
int main() {
int tmp = 0;
for (int i = 0; i < 20; i++) {
for (int j = 0; j < 25; j++) {
tmp = i * i + j * j;
if (tmp == 512) {
printf("礼包在%d排%d列。\n", i, j);
}
}
}
return 0;
}
编写一个程序,读取用户输入的字符串,并将其反转输出。
#include <stdio.h>
#include <string.h>
int main() {
char t[100];
printf("请输入字符串:");
scanf("%s", t);
printf("反转后字符串:");
for (int i = strlen(t) - 1; i >= 0; i--) {
printf("%c", t[i]);
}
return 0;
}
编写一个程序,判断用户输入的字符串是否为回文(即正反读都一样的字符串)。
#include <stdio.h> #include <string.h> int main() { int res = 0; char t[100], arr[100]; printf("请输入字符串:"); scanf("%s", t); for (int i = strlen(t) - 1, j = 0; i >= 0; i--, j++) { arr[j] = t[i]; } if (strcmp(t, arr)) { printf("不是回文\n"); } else { printf("是回文\n"); } return 0; }
求出一个矩阵的鞍点。鞍点的含义为行上最大同时列上也最大。
#include <stdio.h> int main() { int arr[][5] = {{1, 20, 30, 60, 23}, {5, 25, 15, 35, 56}, {9, 22, 33, 12, 13}, {8, 18, 28, 38, 34} }; printf("存的数组为:\n"); int row = 4, col = 5, tmp = 0, t[row][2]; for (int i = 0; i < row; i++) { tmp = 0; for (int j = 0; j < col; j++) { printf("%d ", arr[i][j]); if (tmp < arr[i][j]) { tmp = arr[i][j]; t[i][0] = j; t[i][1] = arr[i][j]; } } printf("\n"); } printf("\n"); for (int i = 0; i < row; i++) { //行最大值数组 int isTure = 1; for (int j = 0; j < row; j++) { //最大值的那一行 //printf("t=%d,arr=%d\n", t[i][1], arr[j][t[i][0]]); if (t[i][1] < arr[j][t[i][0]]) { isTure = 0; } } if (isTure) { printf("鞍点为:%d\n", t[i][1]); } //printf("\n"); } return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。